From b3c99e3607eadcc5405199fb78c471ebb22d03fb Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Sat, 4 Dec 2021 12:42:55 +0100 Subject: [PATCH] clean --- 2021/src/main/kotlin/Day04.kt | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/2021/src/main/kotlin/Day04.kt b/2021/src/main/kotlin/Day04.kt index 80b247f..95bd1b9 100644 --- a/2021/src/main/kotlin/Day04.kt +++ b/2021/src/main/kotlin/Day04.kt @@ -25,26 +25,12 @@ class Day04 : BaseDay() { private fun playBoard(board: List>, numbers: List): Pair { for (round in numbers.indices) { val usedNumbers = numbers.take(round) - var winning = false - for (line in board) { + for (line in board + board[0].indices.map { col -> board.map { it[col] } }) { if (usedNumbers.containsAll(line)) { - winning = true - break + val unmarkedNumbers = board.flatten().toMutableSet().also { it.removeAll(usedNumbers) } + return round to unmarkedNumbers.sum() * usedNumbers.last() } } - if (!winning) { - for (i in board[0].indices) { - val column = board.map { it[i] } - if (usedNumbers.containsAll(column)) { - winning = true - break - } - } - } - if (winning) { - val unmarkedNumbers = board.flatten().toMutableSet().also { it.removeAll(usedNumbers) } - return round to unmarkedNumbers.sum() * usedNumbers.last() - } } error("No wins") }