Algorithm/프로그래머스

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

양원준 2023. 11. 8. 20:19
728x90

문제설명

 

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

 

 

 

 

 

제한사항

 

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

 

 

 

 

 

 

입출력 예

 

s return
"Zbcdef" "gfedcbZ"

 

 

 

 

 

 

 

 

나의 풀이

 

function solution(s) {
    var answer = [];

    answer = s.split('').sort().reverse().join('')

    return answer;
}

 

처음에 문제를 보고 어떻게 정렬 해야되나 고민했다

 

문자열의 비교에서

 

  • 모든 문자는 utf-16을 사용해 인코딩됨 -> utf-16은 각 숫자와 매칭을 시켜준다
  • 이는 곤, 비교 연산자를 사용해서 문자열간의 크기를 비교할 수 있다는 것을 의미
  • 결론적으로 알파벳 순서에 따라서 크기가 결정되고, 소문자는 대문자보다 크며 z는 a보다 크다.

 

 

뭐, 결국 위에 쓴 글에 따라서 sort로 정렬을 하면 작은수 -> 큰수로 정렬이 문자열도 된다는것이다(위의 규칙에 따라서)

 

 

 

 

 

 

 

728x90