반응형
[풀이]
function solution(n) {
const arr = n.toString().split("").sort();
const result = parseInt(arr.reverse().join(""));
return result;
}
1. 배열을 담을 변수를 만들고 n을 문자열로 변환후 쪼개서 잘라 배열에 담고 오름차순으로 정리해준다.
2. 그 배열을 뒤집고(내림차순으로 만들기위해) 붙여준 후 숫자로 바꿔준 결과값을 리턴한다.
[코드리뷰]
function solution(n) {
const arr = n.toString().split("").sort((a, b) => b - a).join("")
return parseInt(arr);
}
1. sort()를 사용할 때 의도치 않은 결과가 나오는 것을 방지하기 위해 (숫자의 경우) 콜백 함수를 꼭 넣어야한다.
또한, 정렬시 애초에 내림차순 정렬을 하면 (a, b) => b - a 굳이 뒤에서 reverse()를 할 필요가 없다.
2. 그리고 메서드 체이닝을 이용하면 추가적인 변수를 선언하지 않고도 문제를 해결할 수 있다.
[추가 코드]
1. 메서드 체이닝 활용
function solution(n) {
return +String(n)
.split("")
.sort((a, b) => b - a)
.map(Number)
.join("");
}
1. n을 문자열로 만들고 쪼갠다.
2. 내림차순으로 정리해준다.
3. map 함수를 이용해 숫자로 만든 후 붙여준다.
'코딩 테스트 > Programmers - 1' 카테고리의 다른 글
[JS] x만큼 간격이 있는 n개의 숫자 (0) | 2022.10.04 |
---|---|
[JS] 하샤드 수 (1) | 2022.10.04 |
[JS] 자연수 뒤집어 배열로 만들기 (0) | 2022.10.04 |
[JS] 정수 제곱근 판별 (0) | 2022.10.04 |
[JS] 최소직사각형 (0) | 2022.10.04 |