From 399d894c68945cc527b8535ac3dd8d9acd11b57e Mon Sep 17 00:00:00 2001 From: Hubert Van De Walle Date: Fri, 3 Dec 2021 12:46:09 +0100 Subject: [PATCH] Simplify --- 2021/src/main/kotlin/Day03.kt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/2021/src/main/kotlin/Day03.kt b/2021/src/main/kotlin/Day03.kt index 659680f..5f30556 100644 --- a/2021/src/main/kotlin/Day03.kt +++ b/2021/src/main/kotlin/Day03.kt @@ -16,12 +16,12 @@ class Day03 : BaseDay() { } override fun part2(): Any { - val oxygenNumbers = 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' } - return oxygenNumbers[0].toInt(2) * co2Numbers[0].toInt(2) + val o2 = findNumber(input.lines.value) { ones, zeros -> if (ones >= zeros) '1' else '0' } + val co2 = findNumber(input.lines.value) { ones, zeros -> if (zeros <= ones) '0' else '1' } + return o2 * co2 } - private fun findNumber(input: List, keep: (Int, Int) -> Char): List { + private fun findNumber(input: List, keep: (Int, Int) -> Char): Int { var numbers = input for (i in this.input.lines.value[0].indices) { if (numbers.size == 1) break @@ -31,7 +31,6 @@ class Day03 : BaseDay() { val maj = keep(ones, zeros) numbers = numbers.filter { it[i] == maj } } - return numbers + return numbers[0].toInt(2) } - }