문자열 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("");
}