내림차순
arr.sort(function (a, b) { if (a > b) return -1; else if (b > a) return 1; else return 0; });
function solution(strings, n) {
strings.sort((a,b) => { // 오름차순 문자 정렬
if (a[n] > b[n]) return 1;
else if (b[n] > a[n]) return -1;
else {
// return a.localeCompare(b);
let i=0;
while (i<a.length && i<b.length) {
if (a[i] > b[i]) return 1;
else if (b[i] > a[i]) return -1;
i++;
}
}
})
return strings;
}
console.log(solution(["abce", "abcd", "cdx"], 2));
localCompare() : 사전순 정렬해주는 내장 메서드인듯?
function solution(strings, n) {
// strings 배열
// n 번째 문자열 비교
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
}
console.log(solution(["abce", "abcd", "cdx"], 2));
비교 문자열을 앞으로 빼서 얘를 통해서 정렬하고,
그 비교 문자열을 ''로 지워주면 끝
function solution(strings, n) {
var answer = [];
for (var i = 0; i < strings.length; i++) {
var chu = strings[i][n];
strings[i] = chu + strings[i];
}
strings.sort();
for (var j = 0; j < strings.length; j++) {
strings[j] = strings[j].replace(strings[j][0],"");
answer.push(strings[j])
}
return answer;
}
console.log(solution(["abce", "abcd", "cdx"], 2));