[programmers] 문자열 내림차순으로 배치하기

혜원·2024년 4월 10일
0

Programmers

목록 보기
20/22
post-thumbnail

문제설명

문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.
s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다.


제한사항

  • str은 길이 1 이상인 문자열입니다.

입출력 예

sresult
"Zbcdefg""gfedcbZ"

문제풀이

function solution(s) {
    var answer = '';
    s = s.split("");
    s.sort(function(a,b) {
           if(a < b) return 1;
           if(a > b) return -1;
           if(a === b) return 0;
    })
    answer = s.join("");
    return answer;
}

문제를 보고 코드를 처음 짰을 때는 단순히 s를 ""를 기준으로 배열로 쪼개고, sort()함수를 사용해 내림차순으로 정렬해야겠다는 생각을 가지고 코드를 짰다. 그래서 위와 같은 코드가 나왔는데, sort함수를 사용해 오름차순으로 정렬한다면 파라미터로 비교하지 않아도 된다. 따라서 reverse로 배열을 뒤집은 다음 sort()함수를 사용하여 더 깔끔한 코드가 되었다.


소스코드

function solution(s) {
    return s
        .split("")
        .sort()
        .reverse()
        .join("");
}

풀이결과

0개의 댓글