Menu
Coddy logo textTech

Bir Anahtara Göre Sıralama

Coddy'nin Kotlin Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 36 / 63.

sortedBy her öğe için bir karşılaştırma anahtarı hesaplar ve anahtarların artan sırasına göre yeni bir liste döndürür. sortedByDescending anahtar sırasını tersine çevirir. Kotlin'in sıralaması kararlı olduğu için eşit anahtarlar özgün göreli sıralarını korur.

main içinde:

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

Kelimeler uzunluklarına göre sıralanır; uzunlukları eşit olduğu için pear, kiwi'den önce kalır.

Eşit anahtarlara sahip öğeler arasındaki özgün sırayı sortedBy korur.

challenge icon

Görev

Orta

shortWordsFirst işlevini words: List<String> parametresiyle tamamlayın. Kelimeleri artan uzunluk sırasına göre döndürün. Eşit uzunluklar için özgün sırayı koruyun.

Yukarıda daha katı sınırlar belirtilmediği sürece koleksiyonlar her düzeyde en fazla 100 öğe içerir ve tamsayı bağımsız değişkenleri ile tamsayı koleksiyon değerleri -1000 ile 1000 arasındadır. Ayrıştırma için sağlanan metin, açıklandığı şekilde geçersiz veya aralık dışı gösterimler içerebilir.

List<String> türünde bir değer döndürün. Sağlanan giriş/çıkış kodunu koruyun. Bu kod, skaler bağımsız değişkenleri satır başına bir tane okur; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir map, ardından her anahtar ve değer gelen kayıt sayısıyla başlar. İç içe listeler her satır için sayı ve öğeler biçimini tekrarlar. Sağlanan main, dönüş değerini ve ardından bir satır sonunu yazdırır. Listeler Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun shortWordsFirst(words: List<String>): List<String> {
    // Çözümünüzü buraya yazın.
    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 iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground