Your task is to make a function that can take any non-negative integer as an argument and return it with its digits in descending order. Essentially, rearrange the digits to create the highest possible number.
Examples:
Input: 42145 Output: 54421
Input: 145263 Output: 654321
Input: 123456789 Output: 987654321
function descendingOrder(n){
return Number((n + '').split('').map(Number).sort((a, b) => b - a).join(''));
}
바로 저번 문제에서 다른 솔루션들을 보니,
나는 .map(el => Number(el))
이렇게 해주었는데, .map(Number)
이렇게도 가능한 것을 보아서 한 번 써먹어 보았다.
또, .toString()
이나 (n + '')
이렇게 빈 문자열을 더해주는 것도 똑같이 문자로 만들 수 있는 방법이다.
여기서 중요한 것은 내림차순!꽤 전에 배웠었는데 기억에 남는다.
.sort()
: 사전식 정렬.sort((a, b) => b - a)
: 내림차순.sort((a, b) => a - b)
: 오름차순