프로그래머스 JS LV1

LV1 12 문자열 내림차순으로 배치하기

와라리요 2022. 12. 15. 14:04

문제 설명

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

 

제한 사항

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

 

입출력 예

s return
"Zbcdefg" "gfedcbZ"

 

나만의 풀이

  문제를 보는 순간 메서드로 spli(''), sort(), join('')을 이용해야 겠다는 생각을 했다. 문제는 sort()를 어떻게 구성하냐 였다. 우선 규칙이 장대하게 설명이 되어 있지만 그냥 내림차순 정렬이랑 다를 게 없다. (아스키코드를 확인하면 알 수 있음.)

  처음에는

function solution(s) {
    return s.split('').sort((a, b) => b.codePointAt(0) - a.codePointAt(0) ).join('');
}

  그런데 비교연산 하면 구지 codePointAt을 사용할 필요가 없었다. 그래서 코드를 변경해 보았다. (위에 것이 런타임도 더 걸림.)

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

'프로그래머스 JS LV1' 카테고리의 다른 글

LV1 14 문자열 다루기 기본  (0) 2022.12.16
LV1 13 약수의 개수와 덧셈  (0) 2022.12.16
LV1 11 내적  (0) 2022.12.15
LV1 11 수박수박수박수박수박수?  (0) 2022.12.14
LV1 10 가운데 글자 가져오기  (0) 2022.12.14