Menu
CoddyTech

Map Bersarang

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

Nilai map juga bisa berupa map. Setiap pencarian mungkin tidak menemukan nilai, jadi gabungkan pemanggilan aman dengan nilai cadangan terakhir. Pembaruan mutable memerlukan mutabilitas pada tingkat yang diubah.

Di dalam main:

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

Ada ada, tetapi kunci art di bagian dalam tidak ada, jadi nilai cadangan digunakan.

Gunakan akses yang aman pada setiap level map yang mungkin tidak ada.

challenge icon

Tantangan

Sedang

Lengkapi nestedScore dengan parameter name: String, subject: String. Gunakan records tetap: Ada dengan math 9, art 7; Bo dengan math 6. Kembalikan skor yang diminta atau -1 jika nama atau mata pelajaran tidak ada.

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

Kembalikan nilai bertipe Int. Pertahankan kode input/output yang disediakan. Kode tersebut membaca argumen skalar satu per baris; list dimulai dengan jumlah elemennya, lalu elemen-elemennya, dan map dimulai dengan jumlah entrinya, lalu setiap key dan value. Nested list mengulangi format jumlah-elemen untuk setiap baris. main yang disediakan mencetak nilai yang dikembalikan, diikuti satu baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan mencetak label tambahan.

Coba sendiri

fun nestedScore(name: String, subject: String): Int {
    // Tulis solusimu di sini.
    return 0
}
fun main() {
    val name = readLine().orEmpty()
    val subject = readLine().orEmpty()
    println(nestedScore(name, subject))
}
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