https://school.programmers.co.kr/learn/courses/30/lessons/12917
1. 문제에 대한 이해
- 우리가 풀어야 할 문제는 무엇인가?
- 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴 - 주어진 자료는 무엇인가?
- 문자열 s - 조건은 무엇인가?
- s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
- str은 길이 1 이상인 문자열입니다.
2. 계획
- 큰것부터 작은 순으로 정렬하는데 대문자는 소문자보다 작다
- 대문자 정렬
- 소문자 정렬
3. 실행
- 풀이 계획을 실행하고, 각 단계가 올바른지 점검하라.
function solution(s) {
// 큰것부터 작은 순으로 정렬하는데 대문자는 소문자보다 작다
const arr = s.split('');
//대문자 정렬
let upperArr = [];
arr.map((it) => {
if (it.toUpperCase() === it) {
return upperArr.push(it)
}
});
upperArr.sort((a, b) => {
if (a > b) return -1;
else if (b > a) return 1;
else return 0;
})
//소문자 정렬
let lowerArr = [];
arr.map((it) => {
if (it.toLowerCase() === it) {
return lowerArr.push(it)
}
})
lowerArr.sort((a, b) => {
if (a > b) return -1;
else if (b > a) return 1;
else return 0;
})
return [...lowerArr, ...upperArr].join('')
}
test('strSort', () => {
expect(solution("Zbcdefg")).toEqual("gfedcbZ");
});
'코테연습' 카테고리의 다른 글
123. 문자열을 정수로 바꾸기 Javascript (0) | 2022.09.12 |
---|---|
122. 문자열 다루기 기본 Javascript (0) | 2022.09.12 |
120. 문자열 내 p와 y의 개수 Javascript (0) | 2022.09.12 |
119. x만큼 간격이 있는 n개의 숫자 Javascript (0) | 2022.09.12 |
118. 올바른 괄호 Javascript (0) | 2022.09.12 |
댓글