const sortHelper = (a, b) => {
if (a > b) {
return -1;
}
if (a < b) {
return 1;
}
return 0;
};
const solution = (s) => {
return s.split("").sort(sortHelper).join("");
};
자바스크립트의 sort메소드는 유니코드 기준 오름차순으로 배열한다.
(작은 값이 앞에 큰 값이 뒤에)
이걸 역순으로 뒤집어주면 된다.
sortHelper함수 내에서 return 값의 의미는 다음과 같다.
(localeCompare메소드 참조)
1 : 앞
0 : 같음
-1 : 뒤
다른 사람의 풀이를 보니 내 코드는 훨씬 간결하게 수정할 수 있는 것이었다.
const solution = s =>{
return s.split("").sort().reverse().join("")
}
function solution(s) {
return s
.split("")
.sort((a, b) => {
const charCodeOfA = a.charCodeAt();
const charCodeOfB = b.charCodeAt();
if (charCodeOfA > charCodeOfB) {
return -1;
}
if (charCodeOfA < charCodeOfB) {
return 1;
}
})
.join("");
}