개발자 되는 법.../코딩테스트...
[JS] 정수 내림차순으로 배치하기
개발_자
2024. 6. 17. 14:03
function solution(n) {
return parseInt((n + '').split('').sort((a, b) => b - a).join(''));
}
1. 숫자를 문자열로 변환
n + ''
숫자 `n`에 빈 문자열을 더하면 암시적으로 `n`이 문자열로 변환됨
"32451"
2. 문자열을 문자 배열로 분리
(n + '').split('')
숫자의 문자열 표현을 각 자리 숫자(여전히 문자열 형태)로 이루어진 배열로 분리
['3', '2', '4', '5', '1']
3. 배열의 내림차순으로 정렬
.sort((a, b) => b - a)
`sort`함수는 기본적으로 문자열을 정렬하므로 숫자 비교를 위해 `(a, b) => b - a`비교 함수를 사용
['5', '4', '3', '2', '1']
4. 배열을 다시 문자열로 결합
.join('')
내림차순으로 정렬된 배열을 다시 문자열로 결합
"54321"
5. 문자열을 정수로 변환
parseInt(...)
정렬된 문자열을 정수로 변환
54321
다른 사람 풀이
.reverse()
`reverse()`는 배열의 요소 순서 반전