Menu
CoddyTech

Rangkuman: Baris Valid Pertama

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

challenge icon

Tantangan

Sedang

Lengkapi firstValidRow dengan parameter grid: List<List<Int>>, minimumTotal: Int. Kembalikan indeks baris pertama yang tidak memiliki nilai negatif dan jumlahnya setidaknya minimumTotal. Baris kosong memiliki jumlah nol dan tidak memiliki nilai negatif. Kembalikan -1 jika tidak ada baris yang memenuhi syarat.

Kecuali jika batas yang lebih ketat dinyatakan di atas, koleksi berisi paling banyak 100 elemen pada setiap tingkat, dan argumen integer serta nilai integer dalam koleksi berada di antara -1000 dan 1000. Teks yang diberikan untuk diurai 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, lalu diikuti elemen-elemennya, dan sebuah map dimulai dengan jumlah entrinya, lalu diikuti setiap key dan value. List bersarang mengulangi format jumlah-elemen untuk setiap baris. main yang disediakan mencetak nilai kembalian, lalu satu karakter baris baru. List menggunakan format standar Kotlin dengan tanda kurung siku; jangan mencetak label tambahan.

Coba sendiri

fun firstValidRow(grid: List<List<Int>>, minimumTotal: 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 minimumTotal = readln().toInt()
    println(firstValidRow(grid, minimumTotal))
}

Semua pelajaran di Logika & Alur

Latihan sendiri: Playground Kotlin