sort()
(a, b) => a > b ? -1 : 1
MDN Array.sort() 문서에 따르면 문자열은 UTF-16 코드에 따라 정렬된다고 함
아스키 코드와 마찬가지로 UTF-16 코드에서 대문자가 소문자보다 앞서므로 작다고 판단
join()
function solution(s) {
return [...s].sort((a, b) => (a > b ? -1 : 1)).join('');
}
다른 사람 풀이를 보니 sort()
함수에 인자를 넘기지 않으면 문자열 비교 기준으로 오름차순 정렬을 해주기 때문에 그 결과를 reverse()
하는 방법도 있었다.
그래도 이번 기회에 정확히 sort()
함수가 어떤 기준으로 문자열을 비교하는지 알게 됐다.