문제 풀기/JavaScripts
문제 20. (중요)정수 내림차순으로 배치하기(정수 sort 함수)
kagan-draca
2024. 7. 15. 15:31
정수의 각 자릿수에서 큰 것부터 작은 순으로 정렬해야 하는데
정수 한 덩어리로 큰 것과 작은 것을 비교할려면
반복문을 사용해서 나누기와 나머지 연산을 수행한 후
하나하나 비교를 해야하는 번거로움이 발생한다.
그래서 먼저 문자열로 변환하고, split('')로 문자열 덩어리를 문자 배열로 변환해주었다.
그 후 sort((a,b) => b-a)함수로 내림차순 정렬을 수행했다.
(
원래는 내림차순 정렬 이전에 map(Number)로 문자들을 정수로 변환시켜 주고 sort()를
시켜주었는데, map(Number)을 지운 배열의 문자들을 기준으로도 내림차순 정렬이 가능했다.
)
그 후 reduce((acc, cur)=> acc + cur)로 문자들을 문자열로 붙여주고
붙인 문자열을 parseInt()로 정수로 변환해서 반환했다.
제출한 코드 :
function solution(n)
{
return parseInt(n.toString().split('').sort((a, b)=> b-a).reduce((acc, cur)=> acc + cur))
}