Menu
Coddy logo textTech

復習 - 最初の有効な行

CoddyのKotlinジャーニー「ロジックとフロー」セクションの一部。レッスン 45/63。

challenge icon

チャレンジ

中級

パラメーター grid: List<List<Int>>、minimumTotal: Int を持つ firstValidRow を完成させてください。負の値を含まず、合計が minimumTotal 以上である最初の行のインデックスを返してください。空の行の合計はゼロで、負の値を含みません。該当する行がない場合は -1 を返してください。

上記でより厳しい上限が示されていない限り、コレクションの各レベルの要素数は最大 100 個で、整数の引数および整数コレクションの値は -1000 以上 1000 以下です。解析対象として提供されるテキストには、説明されているように無効な表現や範囲外の表現が含まれる場合があります。

型 Int の値を返してください。提供された入出力コードはそのまま使用してください。スカラー引数は 1 行に 1 つ読み取ります。リストは要素数の後に各要素が続く形式で始まり、マップはエントリ数の後に各キーと値が続く形式で始まります。ネストされたリストでは、各行について要素数と要素の形式を繰り返します。提供された main は、戻り値の後に改行を 1 つ付けて出力します。リストには Kotlin 標準の角括弧形式を使用し、追加のラベルは出力しないでください。

自分で試してみよう

fun firstValidRow(grid: List<List<Int>>, minimumTotal: Int): Int {
    // ここに解答を書いてください。
    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))
}

ロジックとフローのすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド