Menu
Coddy logo textTech

Map Girdileri Üzerinde Yineleme

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

Bir for döngüsü, for ((key, value) in map) ile her eşleme girdisini anahtarına ve değerine ayırabilir. Toplamlar için değeri, kimlik için anahtarı kullanın. Her eşleme uygulamasının sıralı bir yineleme düzenine sahip olduğunu varsaymayın.

main içinde:

val stock = mapOf("a" to 3, "b" to 5)
var total = 0
for ((name, count) in stock) {
    total += count
}
println(total)

İki miktar, üç ve beş katkıda bulunur.

Bir girdiyi destructuring ile ayırmak, önce anahtarını, ardından değerini sağlar.

challenge icon

Görev

Orta

stockTotal işlevini stock: Map<String, Int> parametresiyle tamamlayın. Tüm miktarların toplamını döndürmek için girişler üzerinde yineleme kullanın. Boş bir haritanın toplamı sıfırdır.

Yukarıda daha sıkı 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.

Int 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 olacak şekilde okur; bir liste, ardından öğeleri gelen sayısıyla başlar ve bir harita, ardından her anahtar ve değer gelen giriş 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 stockTotal(stock: Map<String, Int>): Int {
    // Çözümünüzü buraya yazın.
    return 0
}
fun main() {
    val stockCount = readln().toInt()
    val stock = mutableMapOf<String, Int>()
    for (i0 in 0 until stockCount) {
        val stockKey = readln()
        val stockValue = readln().toInt()
        stock[stockKey] = stockValue
    }
    println(stockTotal(stock))
}
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