Menu
Coddy logo textTech

行の集計

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

外側のループ内で行の累積変数をリセットし、各行につき1つの結果を保持します。空の行についても要約は役立ちます。合計を0にすることで、入力行と出力位置の対応関係が保たれます。

main内:

val rows = listOf(listOf(2, 3), emptyList(), listOf(4))
val sums = mutableListOf<Int>()
for (row in rows) sums.add(row.sum())
println(sums)

空の行の合計値であるゼロを含め、各行に1つずつ合計値があります。

行の概要では、入力行ごとに1つの出力位置が保持されます。

challenge icon

チャレンジ

中級

パラメーター grid: List<List<Int>> を使用して rowTotals を完成させてください。入力順に各行の合計を返します。空の行の合計は 0 です。

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

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

自分で試してみよう

fun rowTotals(grid: List<List<Int>>): List<Int> {
    // ここに解答を書いてください。
    return emptyList()
}
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(rowTotals(grid))
}
quiz icon腕試し

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

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

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