1
0
This commit is contained in:
Hubert Van De Walle 2021-12-03 12:46:09 +01:00
parent 782fccc572
commit 399d894c68

View File

@ -16,12 +16,12 @@ class Day03 : BaseDay() {
} }
override fun part2(): Any { override fun part2(): Any {
val oxygenNumbers = findNumber(input.lines.value) { ones, zeros -> if (ones >= zeros) '1' else '0' } val o2 = findNumber(input.lines.value) { ones, zeros -> if (ones >= zeros) '1' else '0' }
val co2Numbers = findNumber(input.lines.value) { ones, zeros -> if (zeros <= ones) '0' else '1' } val co2 = findNumber(input.lines.value) { ones, zeros -> if (zeros <= ones) '0' else '1' }
return oxygenNumbers[0].toInt(2) * co2Numbers[0].toInt(2) return o2 * co2
} }
private fun findNumber(input: List<String>, keep: (Int, Int) -> Char): List<String> { private fun findNumber(input: List<String>, keep: (Int, Int) -> Char): Int {
var numbers = input var numbers = input
for (i in this.input.lines.value[0].indices) { for (i in this.input.lines.value[0].indices) {
if (numbers.size == 1) break if (numbers.size == 1) break
@ -31,7 +31,6 @@ class Day03 : BaseDay() {
val maj = keep(ones, zeros) val maj = keep(ones, zeros)
numbers = numbers.filter { it[i] == maj } numbers = numbers.filter { it[i] == maj }
} }
return numbers return numbers[0].toInt(2)
} }
} }