Menelusuri Baris
Termasuk bagian Logika & Alur dalam perjalanan Kotlin di Coddy. Pelajaran 17 dari 63.
Gunakan perulangan luar untuk baris dan perulangan dalam untuk nilai. Mengiterasi setiap baris secara langsung secara alami mendukung panjang baris yang berbeda dan baris kosong, tanpa asumsi lebar persegi panjang.
Di dalam main:
val rows = listOf(listOf(2, 3), emptyList(), listOf(4))
var total = 0
for (row in rows) {
for (value in row) total += value
}
println(total)Baris kosong tidak menambahkan apa pun; baris lainnya masing-masing menambahkan lima dan empat.
Ulangi setiap elemen yang benar-benar ada di tiap baris, bukan mengasumsikan lebarnya tetap.
Tantangan
SedangLengkapi gridTotal dengan parameter grid: List<List<Int>>. Jumlahkan setiap nilai di setiap baris. Baris kosong dan list luar yang kosong diperbolehkan.
Kecuali batas yang lebih ketat dinyatakan di atas, setiap tingkat koleksi berisi paling banyak 100 elemen, dan argumen integer serta nilai dalam koleksi integer berada antara -1000 dan 1000. Teks yang diberikan untuk parsing dapat mencakup representasi yang 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; sebuah list dimulai dengan jumlah elemennya, diikuti elemen-elemennya, dan sebuah map dimulai dengan jumlah entrinya, diikuti setiap key dan value. List bersarang 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 gridTotal(grid: List<List<Int>>): Int {
// Tulis solusimu di sini.
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))
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika & Alur
4Koleksi Bersarang
List Berisi ListMenelusuri BarisRingkasan BarisMeratakan List BertingkatRangkuman, Baris Tempat Duduk7Alur Pemrosesan Koleksi
Transformasi dengan MapMemfilter NilaiMenguji Aturan KoleksiMengakumulasi dengan FoldRangkuman: Total yang Disetujui2Map Bagian 2
Menelusuri Entri MapKunci dan NilaiMap FrekuensiMap BersarangRingkasan: Laporan Frekuensi5Proyek: Buku Kontak
Menyimpan KontakMencari KontakLatihan sendiri: Playground Kotlin