programmers12915


文字列内の任意のソート


問題の説明


文字列リスト(文字列からなる)と整数n.
各文字列のインデックスのn番目の文字に基づいて昇順にソートしようとします.
たとえば、文字列が[「sun」、「bad」、「car」の場合、nは1
各単語インデックス1の文字「u」、「e」、および「a」で文字列をソートします.

せいげんじょうけん


文字列は、長さが1以上50未満の配列です.
2.stringの要素は小文字で構成されています.
3.stringの要素は、長さが1より大きく、100より小さい文字列です.
4.すべての文字列の要素長はnより大きい.
5.インデックス1の文字に同じ文字列が複数ある場合、
前の文字列はアルファベット順に前に並んでいます.

I/O例


stringsnreturn["sun", "bed", "car"]1["car", "bed", "sun"]["abce", "abcd", "cdx"]2["abcd", "abce", "cdx"]
function solution(strings, n) {
    var answer = [];

    answer = strings.sort((a, b) => {
        if (a[n] === b[n]) {//n번째 값이 같은 경우
            return a.localeCompare(b);//a와 b를 localeCompare한다.
        } else {
            return a[n].localeCompare(b[n]);//a[n]과 b[n]을 localeCompare한다.
        }
    });
    console.log(strings);
    return answer;
}
/*
 The letter "a" is before "c" yielding a negative value
'a'.localeCompare('c'); // -2 or -1 (or some other negative value)

Alphabetically the word "check" comes after "against" yielding a positive value
'check'.localeCompare('against'); // 2 or 1 (or some other positive value)

"a" and "a" are equivalent yielding a neutral value of zero
'a'.localeCompare('a'); // 0
*/