문제 설명
- 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
- s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
그저 내림차순으로 정렬이다
그럼 문자열s
를 배열로 바꿔준 후, sort().reverse()
하면?? 내림차순 아닌가🤔
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s return
"Zbcdefg" "gfedcbZ"
이게 문제 보고 나서 ASCII CODE
생각이 났다
여기서 보면 대문자가 소문자보다 아스키 코드값이 작은걸 알 수 있다.
그래서 배열에서 오름차순으로 정렬하면 대문자가 소문자보다 먼저 출력된다 ( ̄︶ ̄)↗
그럼 문제를 풀어보자 😃
입력받은 문자열을 split
함수로 쪼개준 후
sort
로 오름차순 정렬해준 후
reverse
로 역으로 순서를 바꾼 후
출력값이 문자열이어야 하므로 배열을 문자열로 리턴해주는 join
을 사용하자
function solution(s) {
let str = s.split('').sort().reverse().join('');
return str
}