Menu
CoddyTech

List Berisi List

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

list bersarang menyimpan baris sebagai elemen dalam list luar. Ukuran list luar menghitung jumlah baris, sedangkan setiap ukuran list dalam menghitung elemen pada baris tersebut. Gunakan dua indeks untuk memilih satu nilai, dan pastikan keduanya tetap dalam batas masing-masing.

Di dalam main:

val grid = listOf(listOf(2, 4), listOf(6, 8))
println(grid[1][0])

Indeks satu memilih baris kedua, lalu indeks nol memilih nilai pertamanya.

Indeks pertama memilih baris, dan indeks kedua memilih elemen pada baris tersebut.

challenge icon

Tantangan

Sedang

Lengkapi cellAt dengan parameter grid: List<List<Int>>, row: Int, column: Int. Kembalikan sel yang dipilih. Baris dan kolom yang diberikan selalu valid untuk baris tersebut.

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

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

Coba sendiri

fun cellAt(grid: List<List<Int>>, row: Int, column: 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)
    }
    val row = readln().toInt()
    val column = readln().toInt()
    println(cellAt(grid, row, column))
}
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