찰리의 이야기

Javascript 문자열 내림차순으로 배치하기 본문

찰리: 코딩 연습

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

쨜리 2021. 9. 22. 00:10
반응형

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

 

 

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

제한 사항

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

입출력 예

s / return

"Zbcdefg" "gfedcbZ"

 


먼저 문자열 하나하나를 정렬할 생각을 하니

배열로 바꾼 다음에 배열 내장 메서드를 이용하는게 편하겠다는 생각이 들었습니다.

sort() 말이죠. 근데 여기서 이미 sort()가 유니코드 순으로 정렬한다는 점을 망각하고 

유니코드로 변환하는 코드를 썼습니다.

다른 분들의 풀이를 보니 그냥 간단히 푸셨더군요.

 

function solution(s) {
    return s.split("").map(x => x.charCodeAt()).sort((a, b)=> b - a).map(x => String.fromCharCode(x)).join("");
}

 

이게 제가 푼 방법이고,

다른 풀이법도 찾아보았습니다.

 

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

sort()를 한 다음,

간단히 reverse()를 해주니 되군요.

sort()가 유니코드 순으로 정렬해준다는 점을 기억하자!

...그리고 체이닝도 줄바꿈을 해주자! 가독성을 위해.

 

 

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

반응형
Comments