Menu
CoddyTech

Mengurutkan Berdasarkan Kunci

Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 36 dari 63.

sortedBy menghitung kunci perbandingan untuk setiap elemen dan mengembalikan list baru dengan urutan kunci menaik. sortedByDescending membalik urutan kunci. Kunci yang sama mempertahankan urutan relatif aslinya karena pengurutan Kotlin bersifat stabil.

Di dalam main:

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

Kata-kata diurutkan berdasarkan panjangnya; pear tetap berada sebelum kiwi karena panjang keduanya sama.

sortedBy mempertahankan urutan asli di antara elemen dengan kunci yang sama.

challenge icon

Tantangan

Sedang

Lengkapi shortWordsFirst dengan parameter words: List<String>. Kembalikan kata-kata dalam urutan panjang yang meningkat. Pertahankan urutan aslinya jika panjangnya sama.

Kecuali batas yang lebih ketat dinyatakan di atas, koleksi berisi paling banyak 100 elemen di setiap tingkat, dan argumen integer serta nilai dalam koleksi integer berada di antara -1000 dan 1000. Teks yang diberikan untuk parsing dapat mencakup representasi yang tidak valid atau di luar rentang seperti yang dijelaskan.

Kembalikan nilai bertipe List<String>. Pertahankan kode input/output yang diberikan. Kode tersebut membaca argumen skalar satu per baris; list dimulai dengan jumlah elemennya, lalu diikuti elemen-elemen tersebut, dan map dimulai dengan jumlah entrinya, lalu diikuti setiap kunci dan nilai. List bersarang mengulangi format jumlah-elemen untuk setiap baris. main yang diberikan mencetak nilai kembalian diikuti satu baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan cetak label tambahan.

Coba sendiri

fun shortWordsFirst(words: List<String>): List<String> {
    // Tulis solusimu di sini.
    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 iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika & Alur

Latihan sendiri: Playground Kotlin