clean
This commit is contained in:
parent
97334d34eb
commit
b3c99e3607
@ -25,27 +25,13 @@ class Day04 : BaseDay() {
|
|||||||
private fun playBoard(board: List<List<Int>>, numbers: List<Int>): Pair<Int, Int> {
|
private fun playBoard(board: List<List<Int>>, numbers: List<Int>): Pair<Int, Int> {
|
||||||
for (round in numbers.indices) {
|
for (round in numbers.indices) {
|
||||||
val usedNumbers = numbers.take(round)
|
val usedNumbers = numbers.take(round)
|
||||||
var winning = false
|
for (line in board + board[0].indices.map { col -> board.map { it[col] } }) {
|
||||||
for (line in board) {
|
|
||||||
if (usedNumbers.containsAll(line)) {
|
if (usedNumbers.containsAll(line)) {
|
||||||
winning = true
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
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) }
|
val unmarkedNumbers = board.flatten().toMutableSet().also { it.removeAll(usedNumbers) }
|
||||||
return round to unmarkedNumbers.sum() * usedNumbers.last()
|
return round to unmarkedNumbers.sum() * usedNumbers.last()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
error("No wins")
|
error("No wins")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user