문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
| s | return |
|---|---|
| "Zbcdefg" | "gfedcbZ" |
💡 문제풀이 과정
올림 혹은 내림차순은
sort()나reverse()를 활용하면 되겠다.대신, 이 함수들을 사용하기 위해선 데이터가 배열 혹은 객체 형태여야 하므로,
split()을 통해 ‘string’이 아닌 [‘s,t,r,i,n,g’]과 같은 배열 형태로 만들어, 차순을 정렬 후 다시 문자열 형태로 돌리기 위해 최종적으로join()을 쓴다.문제의 조건에서 해당 문자열은 영문 대소문자로만 구성되어있는데, 대문자는 소문자보다 작은 것으로 간주한다고 하였다. 따라서 sort()를 쓰지않고 reverse()만 쓰게 되면 다른 결과물이 나온다. 아래 내용 참고
let s = 'abcABC'; s.split("").sort().join(""); //ABCabc s.split("").reverse().join(""); //CBAcba; s.split("").sort().reverse().join(""); //cbaCBA
✅ 최종 답안
function solution(s) {
return s.split("").sort().reverse().join("");
}