문제 풀기/JavaScripts

문제 34. (중요)문자열 내림차순으로 배치하기(난이도 7)(문자열 sort, join)

kagan-draca 2024. 7. 23. 14:24

 

문제를 보고 split('').sort((a, b)=> b - a).join('')으로 쉽게 구할 수 있을거라 생각했다.

그런데 sort()부분이 내 생각처럼 동작하지 않았다.

 

찾아보니,

 

 

숫자 문자열인 경우 b - a로 사칙연산에 의해 내림차순 정렬이 가능 했지만,

문자 문자열인 경우 b - a로 사칙연산이 수행될 수 없어 정렬이 불가능 했다.

 

문자 문자열의 내림차순 정렬 방법은 다음과 같은데,

 

sort((a,b)=> a < b ? 1 : -1)

 

로 가능했다.

 

만약, sort((a,b)=> a < b ? 1 : -1)로 내림차순 정렬하기 싫다면

 

sort()로 오름차순 정렬 후, reverse()를 사용해 내림차순 정렬이 가능했다.

 

마지막으로 split('')에 의해 문자열이 배열의 문자로 나눠졌기 때문에

다시 문자열로 만들어주는 함수를 찾아본 결과 join()함수가 존재했고,

 

split()함수와 사용법이 동일했다.

 

제출한 코드 : 

 

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