プログラマ文字列で任意にソート


質問する


問題の説明


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

せいげんじょうけん

  • 文字列の長さは1より大きく、50より小さい.
  • 文字列の要素は小文字で構成されています.
  • 文字列の要素の長さは1より大きく、100より小さい.
  • すべての文字列の要素長はnより大きい.
  • インデックス1の複数の文字が同じ文字列である場合、アルファベット順に並べられた先頭文字列が先頭に配置されます.
  • I/O例


    stringsnreturn["sun", "bed", "car"]1["car", "bed", "sun"]["abce", "abcd", "cdx"]2["abcd", "abce", "cdx"]

    I/O例説明


    I/O例1
    「sun」、「bed」および「car」の最初のインデックス値は、それぞれ「u」、「e」および「a」である.文字列を整列させると、car、bad、sunになります.
    I/O例2
    「abce」および「abcd」、「cdx」の2番目のインデックス値は、それぞれ「c」、「c」および「x」である.したがって、ソート後、「cdx」は最後に位置します.「abce」および「abcd」は、アルファベット順に「abcd」よりも優先されるため、答えは「abcd」、「abce」および「cdx」である.

    コード#コード#

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

    に答える

  • sort法で
  • を昇順に配列する
  • 並べ替えられた配列の要素は、n個のインデックス文字で
  • に並べ替える.