const sortHelper = (a, b, n) => {
if (a[n] > b[n]) {
return 1;
}
if (a[n] < b[n]) {
return -1;
}
if (a > b) {
return 1;
}
if (a < b) {
return -1;
}
return 0;
};
const solution = (strings, n) => {
return strings.sort((a, b) => sortHelper(a, b, n));
};
자바스크립트에서 >, <, >=, <= 연산자는 양쪽 피연산자가 모두 문자열 타입일 때 사전 순서(유니코드 기준)로 비교한다.
다른 사람의 풀이에서는 localeCompare메소드를 사용한 것도 있었다
(대단쓰...)
function solution(strings, n) {
return strings.sort((a, b) => {
if (a[n] > b[n]) {
return 1;
}
if (a[n] < b[n]) {
return -1;
}
if (a > b) {
return 1;
}
if (a < b) {
return -1;
}
});
}