# 문제 원문
문제 설명
문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.
제한 사항
- str은 길이 1 이상인 문자열입니다.
입출력 예
s / return
"Zbcdefg" | "gfedcbZ" |
# 문제 풀이
입력 받은 문자열 s를 split으로 배열을 만든 후 정렬하고 다시 합쳐서 반환하는 문제이다. 별 다른 내용은 없다.
다만 아스키코드에 대해서 어느 정도 알고 있나를 보는거 같은 문제다.(알고는 있는데 솔직히 늘 다 기억하고 있는건 아니라서 긴가민가하니 손코딩 같은걸로 출제 된다면 조금 난감할듯?)
# 솔루션 플로우
1. 입력 받은 문자열 s를 쪼개서 배열로 만든다.
2. 얻어진 s[]를 정렬 해준다.
3. 정렬된 s[]를 합쳐서 result를 얻는다.
4. 얻어진 result를 반환한다.
1. FP
function solution(s) {
return s.split('').sort((a, b) => {
if (a.charCodeAt() > b.charCodeAt()) return -1; // 자동 형변환 하기에 charCodeAt는 사실 필요가 없다.
if (a.charCodeAt() < b.charCodeAt()) return 1;
}).join('');
}
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[프로그래머스][LEVEL1] 정수 내림차순으로 배치하기 (0) | 2021.08.19 |
---|---|
[프로그래머스][LEVEL1] 자릿수 더하기 (0) | 2021.08.19 |
[프로그래머스][LEVEL1] 같은 숫자는 싫어 (0) | 2021.08.19 |
[프로그래머스][LEVEL1]가운데 글자 가져오기 (0) | 2021.08.18 |
[프로그래머스][LEVEL1] 소수 찾기 (0) | 2021.08.18 |