Menu
Coddy logo textTech

Satır Özetleri

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

Dış döngünün içinde satır biriktiriciyi sıfırlayarak her satır için bir sonuç tutun. Boş bir satırın özeti de yine yararlıdır: sıfır toplamı, girdi satırları ile çıktı konumları arasındaki eşleşmeyi korur.

main içinde:

val rows = listOf(listOf(2, 3), emptyList(), listOf(4))
val sums = mutableListOf<Int>()
for (row in rows) sums.add(row.sum())
println(sums)

Boş satır için sıfır da dahil olmak üzere her satır için bir toplam vardır.

Bir satır özeti, her giriş satırı için bir çıktı konumunu korur.

challenge icon

Görev

Orta

rowTotals işlevini grid: List<List<Int>> parametresiyle tamamlayın. Girdi sırasındaki her satırın toplamını döndürün. Boş bir satırı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ığı üzere geçersiz veya aralık dışı gösterimler içerebilir.

List<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 olacak şekilde okur; bir liste, sayısını ve ardından öğelerini içerir, bir eşleme ise giriş sayısını ve ardından her anahtarı ve değeri içerir. İç içe listelerde her satır için sayı ve öğeler biçimi tekrarlanır. 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 rowTotals(grid: List<List<Int>>): List<Int> {
    // Çözümünüzü buraya yazın.
    return emptyList()
}
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(rowTotals(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