알고리즘 6

Javascript/2차원으로 만들기

문제번호 #120842 처음 내가 문제를 푼 방향은 어제 배열에 sort를 썼더니 기존 데이터가 바뀌어서, slice를 쓰면 바뀔 것이라 생각했다. 그래서 map을 통해 배열을 하나 더 만들어줬다. 그런데 문제는 계속 0부터 반복문이 되야 할 텐데 방법을 모르겠다... 그래서 참고하기 위해 다른 사람의 풀이를 보았다. 내가 작성한 코드 //풀지 못함 let tempList = num_list.map((n)=>n); let a =[]; for(let i = 0; i

알고리즘 2023.01.31

프로그래머스/진료순서 정하기

문제번호 #120835 점점 문제가 뒤로 갈수록 map 함수를 이용해서 풀어야 하는 문제가 많이 나오는 것 같다. 다른 급하게 개념 잡아야 하는 부분들이 있어 map을 각잡고 공부하지 못했는데, 이참에 해야겠다 싶어서 공부하고 풀어 보았다. 워낙 map에 대한 설명이 text로 되어 있다보니 쓰임이 잘 와닿지 않았는데, 일단 부딛혀 보자 싶어서 다른사람이 작성한 코드를 보며 하나하나 뜯어 보았다. 참고해서 적은 코드 let emergency = [3, 76, 24]; let result = []; let temp = emergency.map(x=>x); let star = emergency.sort((a,b)=>b-a); for(let i = 0; i

알고리즘 2023.01.31

프로그래머스/문자열 내 p와 y의 개수

문제번호 #12916 나는 이번 코드를 작성 할 때, p와 y가 연속으로 붙어있다는 것에 초점을 두어 길이를 비교했다. 그런데 다른 사람의 풀이를 보니 길이를 비교하지 않았고, 만약 p와 y가 연속으로 붙어 있지 않았을 때 어떻게 짜야할 지 궁금해서 다른 방식으로 짜 보았다. 기존에 작성한 코드 function solution(s){ let count = 0; let upperCase = s.toUpperCase(); let P = upperCase.split('P').length; let Y = upperCase.split('Y').length; if(P === Y){ return true; }else{ return false; } } 수정한 코드 function solution(s){ s.toUppe..

알고리즘 2023.01.30

프로그래머스/나누어 떨어지는 숫자 배열

문제번호 #12910 코드를 작성하는 것은 어렵지 않았지만, 오름차순 정렬하는 법이 잘 이해가 안됐다. 그냥 sort()함수를 사용 할 수도 있지만, a b ac 같은 경우에 sort()는 a ac b 순으로 정렬 해 준다. 숫자 같은 경우에도 1 2 112 가 있으면 1 112 2 순으로 정렬 해 준다. 이럴 때 해결 할 수 있는 함수는 array의 sort(compareFunction)함수이다. 무명 함수를 작성 해 주어야 하는데, compareFunction 에 들어가는 (a,b)=>a-b 라는 말이 잘 이해가 되지 않았다. 항상 이런 문제를 나오면 특별한 해결책을 찾지 못해 무조건 외워서 썼어서 이번에도 어떻게 맞긴 맞았다. function solution(arr,divisor){ let answ..

알고리즘 2023.01.30

Javascript/문자열 뒤집기

문제번호 #120822 기존 문제에서 reverse()함수를 사용했는데 이상하게 먹히지 않았다. 그래서 찾아보니, reverse는 배열에서 뒤집는게 가능한 함수라는 걸 알았다. 문자를 배열로 먼저 만들어 주기 위해선 split함수를 사용하면 된다. split은 문자열에서 사용하게 되면, 쪼개서 배열에 넣어준다. 주의할 점은 한 문자씩 쪼갤 때는 빈 split()이 아니라 split('')을 사용해야 한다. 배열로 만들어 준 다음 .reverse()를 통해 배열의 순서를 뒤집는다. 뒤집어지고 쪼개진 배열들을 다시 합치려면 join함수를 사용하는데, 빈 join()을 사용하면 배열안에 있는 , 까지 같이 합쳐진다. ,없이 문자를 합치고 싶으면 join('')을 사용하면된다. 반대로 문자 사이에 +를 넣고 싶..

알고리즘 2023.01.27

Javascript/return

콜백함수에 대해 배우던 도중, 함수에 대한 개념이 잡히지 않아 확장 이해를 하지 못하고 있는 느낌을 받았다. 인자를 전달받고, return 한다는 것은 알고 있었다. 그런데 return을 사용자에게 보여지는 것인가 하고 인지하고 코드를 계속 보았는데, 잘못된 개념이라는 것을 알게되었고, 그래서 예제를 보면 이해가 계속 안되었다는 것을 알았다. return이란 쉽게 말하면 함수들이 이어받는 값이다. 한 개의 함수에 여러개의 기능을 묶는 것이 아니라, 각 특징의 함수별로 나누는 것이 가독성에 좋다. 예를 들어 어떠한 수 까지의 소수를 alert으로 띄우는 기능을 구현하고자 할때, 1. 어떠한 수가 소수인지 검사하는 함수 2. 소수인 값을 alert으로 반환하는 함수 이렇게 두가지 함수를 만들면 가독성이 좋아..

알고리즘 2023.01.26