Menu
Coddy logo textTech

İç İçe Map'ler

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

Bir map değeri kendisi de bir map olabilir. Her aramada değer bulunmayabilir; bu nedenle güvenli bir çağrıyı son bir geri dönüş değeriyle birleştir. Değiştirilebilir güncellemeler, değiştirilen düzeyde require değiştirilebilirliği gerektirir.

main içinde:

val school = mapOf("Ada" to mapOf("math" to 9))
println(school["Ada"]?.get("art") ?: -1)

Ada mevcut, ancak içteki art anahtarı mevcut değil, bu nedenle yedek değer kullanılır.

Mevcut olmayabilecek her map düzeyinde güvenli erişim kullanın.

challenge icon

Görev

Orta

nestedScore işlevini name: String, subject: String parametreleriyle tamamlayın. Sabit kayıtları kullanın: Ada: math 9, art 7; Bo: math 6. İstenen puanı, ad veya konu mevcut olmadığında ise -1 döndürün.

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

Int türünde bir değer döndürün. Sağlanan girdi/çıktı 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öndürülen değeri 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 nestedScore(name: String, subject: String): Int {
    // Çözümünüzü buraya yazın.
    return 0
}
fun main() {
    val name = readLine().orEmpty()
    val subject = readLine().orEmpty()
    println(nestedScore(name, subject))
}
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