[프로그래머스] 문자열 내림차순으로 배치하기 (JS)

hhkim·2023년 6월 22일
0

Algorithm - JavaScript

목록 보기
25/188
post-thumbnail

풀이 과정

  1. 문자열을 정렬: 배열로 만든 후 sort()
  2. 내림차순 정렬: 비교 함수가 (a, b) => a > b ? -1 : 1
    (a가 b보다 큰 경우 앞에 와야 하니까 음수 반환, 반대의 경우 양수 반환)

    MDN Array.sort() 문서에 따르면 문자열은 UTF-16 코드에 따라 정렬된다고 함
    아스키 코드와 마찬가지로 UTF-16 코드에서 대문자가 소문자보다 앞서므로 작다고 판단

  3. 다시 배열을 문자열로 만들기: join()

코드

function solution(s) {
  return [...s].sort((a, b) => (a > b ? -1 : 1)).join('');
}

🤔

다른 사람 풀이를 보니 sort() 함수에 인자를 넘기지 않으면 문자열 비교 기준으로 오름차순 정렬을 해주기 때문에 그 결과를 reverse()하는 방법도 있었다.
그래도 이번 기회에 정확히 sort() 함수가 어떤 기준으로 문자열을 비교하는지 알게 됐다.

0개의 댓글