[프로그래머스 level1] 문자열 내 마음대로 정렬하기

김예지·2021년 10월 13일
1

문제

https://programmers.co.kr/learn/courses/30/lessons/12915


문제 풀이

코드1

sort에서 인덱스를 사용할 수 있다니... sort를 사용하는 좋은 예인 것 같다. 잘 익혀두자!

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

코드2

return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));

localCompare 메소드를 활용해서 푸는 신박한 방법도 있다. 처음보는 신박한 메소드...!
sort는 음수일때는 서로의 위치를 바꾸지않고, 양수일때는 서로의 위치를 바꾼다는 것을 잘 생각하자! (0일때는 서로 바꾸지 않고 다른 요소 정렬)

localCompare
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare

profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

1개의 댓글

comment-user-thumbnail
2021년 10월 26일

10/26
sort 활용 방법

답글 달기