[나의 풀이]
function solution(n) {
let answer = String(n).split("").sort((a, b) => b - a).join("");
return Number(answer)
}
문제처럼 내림차순, 오름차순 등의 정렬이 필요할 때 sort()
를 사용할 수 있다. sort()
메소드는 유니코드 포인트
를 따르는데 아래의 표와 같다.
표를 보면 대문자 A => U+0051 이런식으로 각 문자에 해당하는 포인트가 정해져 있고 이것을 기준으로 정렬해준다.
그렇기에 인수로 전해지는 n
은 숫자와 문자 어떤것이 되더라도 정렬이 가능해진다.
n
으로 전달받은 number
를 문자로 변경하고 split
으로 각 문자를 분리해주었다.
즉, 분리된 문자는 n=118372
라는 숫자이기에 n="118372"
문자가 된 후 ["1", "1", "8", "3", "7", "2"]
가 된다.
이것을 sort()
로 정렬하고 join()
으로 다시 합하여 return
할 때 숫자로 변경하여 리턴하였다.