글 작성자: 망고좋아
반응형

 

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

📁 문제 출처

 

코딩테스트 연습 - 문자열 내림차순으로 배치하기

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

programmers.co.kr

 

💡 생각

  • 자바스크립트는 유니코드 순으로 정렬해준다.
let arr = [90,  98,  99, 100, 101, 102, 103]
arr.sort(); // [100, 101, 102, 103, 90, 98, 99]
  • 이렇게 우리와 의도와 다르게 정렬이 된다.

 

자바스크립트 오름차순 정렬

arr.sort(function(a, b)  {
  return a - b;
});

 

자바스크립트 내림차순 정렬

arr.sort(function(a, b)  {
  return b - a;
});

 

🛠 나의 코드

function solution(s) {
    let ans = "";
    s.split('').map(el => el.charCodeAt(0)).sort((a, b) => b - a).map(el => {ans += String.fromCharCode(el)});
    return ans

}

 

다른 풀이

function solution(s) {
    return s
        .split("")
        .sort()
        .reverse()
        .join("");
}
  • 유니코드로 안 바꿔줘도 충분히 풀 수 있다. 또한 가독성까지 챙겼다.
반응형