function solution(strings, n) {
let answer = strings.sort((a,b) => {
if (a[n] !== b[n]) {
return a[n] > b[n] ? 1 : -1;
}
return a > b ? 1 : -1;
});
return answer;
}
function solution(strings, n) {
// strings 배열
// n 번째 문자열 비교
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
}
나는 sort를 사용해서 비교 대상의 n 번째 인덱스가 같지 않을 경우에 a의 n번째 인덱스의 글자가 클 경우 양수인 1을 지정해서 순서를 바꾸고 작을 경우 순서를 유지하는 것을 사용했다.
다른 답은 localeCompare()
메서드를 사용했다.
sort를 먼저 사용한 후 비교 대상의 n번째 인덱스가 같을 경우에는 비교 대상 자체를 localeCompare()
을 사용해서 비교한 후 정렬 순서를 변경했고 같지 않을 경우에는 n 번째 인덱스 끼리 비교하여 정렬했다.