문제 풀기/JavaScripts

문제 47. 문자열 내 마음대로 정렬하기(난이도 5)(sort 복습)

kagan-draca 2024. 7. 29. 17:34

 

sort() 함수가 정렬을 해준다는 사실은 알고 있었다.

그런데 어떤 기준으로 정렬을 하는지 알아봤다.

 

sort((a,b)=> ~~~~)가 있을 때

조건에 의해 

 

return -1은 b(두 번째 요소)가 a(첫 번째 요소) 보다 앞에 있어야 한다.

 

return 0은 순서 유지

 

return 1은  b(두 번째 요소)가 a(첫 번째 요소) 보다 뒤에 있어야 한다.

 

였다.

 

위를 바탕으로 순서를 정해주면,

 

function solution(strings, n) 
{
    return strings.sort((a, b)=>
    {
        if(a[n] == b[n] && a < b || a[n] < b[n]) return -1;
    })
}

 

코드로 표현할 수 있고 더 정리하면,

 

제출한 코드 : 

 

function solution(strings, n) 
{
    return strings.sort((a,b)=> a[n] < b[n] || a[n] == b[n] && a < b ? -1 :  1)
}