Menu
Coddy logo textTech

キーによる並べ替え

CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 36/63。

sortedByは各要素の比較キーを計算し、キーの昇順で新しいリストを返します。sortedByDescendingはキーの順序を逆にします。Kotlinのソートは安定しているため、キーが等しい場合は元の相対的な順序が維持されます。

mainの中で:

println(listOf("pear", "a", "kiwi", "to").sortedBy { it.length })

単語は長さ順に並べられます。pear と kiwi は長さが同じなので、pear は kiwi より前に残ります。

sortedByは、キーが等しい要素間の元の順序を保持します。

challenge icon

チャレンジ

中級

パラメーター words: List<String> を持つ shortWordsFirst を完成させてください。単語を長さの昇順で返してください。同じ長さの場合は、元の順序を維持してください。

上記でより厳しい範囲が指定されていない限り、各レベルのコレクションには最大100個の要素が含まれ、整数の引数および整数のコレクション値は -1000 から 1000 の間です。解析用に提供されるテキストには、説明されているように、無効または範囲外の表現が含まれる場合があります。

型 List<String> の値を返してください。提供された入力/出力コードはそのまま使用してください。スカラー引数は1行に1つずつ読み取られます。リストは要素数の後に各要素が続く形式で始まり、マップはエントリ数の後に各キーと値が続く形式で始まります。ネストされたリストでは、各行について要素数と要素の形式を繰り返します。提供された main は、戻り値の後に改行を1つ出力します。リストには Kotlin 標準の角括弧形式を使用し、追加のラベルは出力しないでください。

自分で試してみよう

fun shortWordsFirst(words: List<String>): List<String> {
    // ここに解答を書いてください。
    return emptyList()
}
fun main() {
    val wordsCount = readln().toInt()
    val words = mutableListOf<String>()
    for (i0 in 0 until wordsCount) {
        val wordsItem = readLine().orEmpty()
        words.add(wordsItem)
    }
    println(shortWordsFirst(words))
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド