문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한사항
str은 길이 1 이상인 문자열입니다.
입출력 예
s | return |
---|---|
"Zbcdefg" | "gfedcbZ" |
나의 풀이
function solution(s) {
let upper = [];
let lower = [];
s.split("").map((obj) => obj === obj.toUpperCase() ? upper.push(obj) : lower.push(obj))
return lower.sort().reverse().join("") + upper.sort().reverse().join("");
}
참고 풀이
function solution(s) {
return s
.split("")
.sort()
.reverse()
.join("");
}
문자열을 sort
로 정렬하면 대문자와 소문자가 구별되어 정렬되는 듯 하다.
유니코드가 달라서 그런가?