Menu
Coddy logo textTech

リストのリスト

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

ネストされたリストは、外側のリストの要素として行を格納します。外側のサイズは行数を数え、各内側のサイズはその行の要素数を数えます。2つのインデックスを使って1つの値を選択し、それぞれを固有の範囲内に保ちます。

mainの内部:

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

インデックス1で2行目を選び、次にインデックス0でその最初の値を選びます。

最初のインデックスは行を選択し、2番目のインデックスはその行の要素を選択します。

challenge icon

チャレンジ

中級

パラメーター grid: List<List<Int>>、row: Int、column: Intを指定してcellAtを完成させてください。選択されたセルを返してください。指定された行と列は、その行に対して常に有効です。

上記でより厳しい範囲が指定されていない限り、コレクションは各レベルで最大100個の要素を含み、整数の引数と整数コレクションの値は-1000から1000の間です。解析用に提供されるテキストには、説明されているように無効または範囲外の表現が含まれる場合があります。

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

自分で試してみよう

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

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

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

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