문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
- str은 길이 1 이상인 문자열입니다.
s | return |
---|---|
"Zbcdefg" | "gfedcbZ" |
내가 짠 코드
function solution(s) {
let sArr = [...s];
let descArr = sArr.sort((a,b) => {
return b.localeCompare(a);
})
let upperS = [];
let lowS = [];
descArr.map((val,i) => {
if(val.toUpperCase() == val) {
upperS.push(val);
}else {
lowS.push(val);
}
})
return lowS.concat(upperS).join('');
}
전시간에 배운걸 써먹고 싶었다...
더 간단 한방법이 있을텐데 한가지 배우면 그걸로 어떻게든 해결하려는 못된습관...
다른사람 코드를 가져와 봤다.
어느 분 코드
function solution(s) {
return s
.split("")
.sort()
.reverse()
.join("");
}
하.. 창피하군 이렇게 간결하게 할수있는데 ㅋㅋ
'trouble shooting' 카테고리의 다른 글
알고리즘 연습문제22(숫자 문자열과 영단어) (0) | 2022.09.27 |
---|---|
알고리즘 연습문제21(소수 만들기) (0) | 2022.09.27 |
알고리즘 연습문제19(문자열 내 마음대로 정렬하기) (0) | 2022.09.26 |
알고리즘 연습문제18(모의고사) (1) | 2022.09.26 |
알고리즘 연습문제17(로또의 최고 순위와 최저 순위) (1) | 2022.09.26 |