Menu
Coddy logo textTech

Satırlarda Gezinme

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

Satırlar için dış döngü ve değerler için iç döngü kullanın. Her satır üzerinde doğrudan yineleme yapmak, dikdörtgen genişlik varsayımı olmadan farklı satır uzunluklarını ve boş satırları doğal olarak destekler.

main içinde:

val rows = listOf(listOf(2, 3), emptyList(), listOf(4))
var total = 0
for (row in rows) {
    for (value in row) total += value
}
println(total)

Boş satır hiçbir katkıda bulunmaz; diğer satırlar beş ve dört katkı sağlar.

Sabit bir genişlik varsaymak yerine her satırın gerçek öğeleri üzerinde yineleme yapın.

challenge icon

Görev

Orta

grid: List<List<Int>> parametresiyle gridTotal işlevini tamamlayın. Her satırdaki tüm değerleri toplayın. Boş satırlara ve boş bir dış listeye izin verilir.

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ığı üzere 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, sayısının ardından öğeleriyle başlar ve bir eşlem, giriş sayısının ardından her anahtar ve değerle 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 yeni satır yazdırır. Listeler, Kotlin'in standart köşeli parantezli biçimini kullanır; ek etiket yazdırmayın.

Kendin dene

fun gridTotal(grid: List<List<Int>>): Int {
    // Çözümünüzü buraya yazın.
    return 0
}
fun main() {
    val gridCount = readln().toInt()
    val grid = mutableListOf<List<Int>>()
    for (i0 in 0 until gridCount) {
        val gridItemCount = readln().toInt()
        val gridItem = mutableListOf<Int>()
        for (i1 in 0 until gridItemCount) {
            val gridItemItem = readln().toInt()
            gridItem.add(gridItemItem)
        }
        grid.add(gridItem)
    }
    println(gridTotal(grid))
}
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