문제 번호
알고리즘 분류
문제 풀이
문제의 내용은 어려운게 없었다. 문제에서 주어지는 숫자들을 모두 검사하여 문제에서 주어진 또 다른 숫자로 나누어 떨어지는지만 검사하면 된다.
이때 Array 프로토타입인 sort 메서드를 이용하였는데 sort 함수의 기본 비교조건은 배열의 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬된다고한다.
처음엔 이걸 몰라서 그냥 sort() 만 사용했더니 오름차순으로 배열이 이루어지지 않아서 당황했다. sort 함수가 어떻게 요소들을 비교할지 기술해주어야 한다.
function solution(arr, divisor) {
var answer = [];
answer = arr.filter(x => parseInt(x%divisor) === 0).sort((a,b)=>a-b);
if(answer.length === 0)
answer.push(-1);
return answer;
}
이 문제를 풀때도 sort 메서드에 대해서 잘 알고 사용하는것이 좋다고 생각한다.
C++에서는 compare 함수를 bool 타입으로 선언해서 단순하게 return a<b 같은 형식으로 작성하였는데 그 기억이 남아서 JS에서도 같은 방법으로 사용하다가 시간을 오래썻다.
++ sort()메서드를 통해서 반환되는 결과물은 배열이다. 새로운 배열이 생성되는것이 아니라 원 배열이 정렬된다.
특이사항
'Algorithm > Programmers' 카테고리의 다른 글
[JS][프로그래머스]실패율 (0) | 2021.08.30 |
---|---|
[JS][프로그래머스]3진법 뒤집기 (0) | 2021.08.30 |
[JS][프로그래머스]1차_비밀지도 (0) | 2021.08.29 |
[C++][프로그래머스]연습문제_N개의 최소공배수 (0) | 2021.07.05 |
[JS][프로그래머스]연습문제_직사각형 별찍기. (0) | 2021.07.05 |