diff options
author | tchojnacki <tomaszchojnacki2001@gmail.com> | 2022-08-11 19:24:23 +0200 |
---|---|---|
committer | tchojnacki <tomaszchojnacki2001@gmail.com> | 2022-08-11 19:24:23 +0200 |
commit | 0f1e145b80813ae2331b7dac5ace0c589654ad2a (patch) | |
tree | 25483b8239436dd5aed2fee8811caf0ba893c0bb /2021-kotlin/src/Day06.kt | |
parent | 85fb0396bed6a2129b12392941103924b1ab55be (diff) | |
download | gleam_aoc2020-0f1e145b80813ae2331b7dac5ace0c589654ad2a.tar.gz gleam_aoc2020-0f1e145b80813ae2331b7dac5ace0c589654ad2a.zip |
Move subproject to avoid IntelliJ module name issues
Diffstat (limited to '2021-kotlin/src/Day06.kt')
-rw-r--r-- | 2021-kotlin/src/Day06.kt | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/2021-kotlin/src/Day06.kt b/2021-kotlin/src/Day06.kt deleted file mode 100644 index 4627cca..0000000 --- a/2021-kotlin/src/Day06.kt +++ /dev/null @@ -1,38 +0,0 @@ -object Day06 { - private fun calculateFishPopulation(input: String, days: Int): Long { - val fishCounts = - input - .trim() - .split(",") - .map(String::toInt) - .groupingBy { it } - .eachCount() - .mapValues { (_, v) -> v.toLong() } - .toMutableMap() - - repeat(days) { - val readyToBirth = fishCounts.getOrDefault(0, 0) - repeat(8) { - fishCounts[it] = fishCounts.getOrDefault(it + 1, 0) - } - fishCounts.merge(6, readyToBirth, Long::plus) - fishCounts[8] = readyToBirth - } - - return fishCounts.values.sum() - } - - fun part1(input: String): Int = calculateFishPopulation(input, 80).toInt() - - fun part2(input: String): Long = calculateFishPopulation(input, 256) -} - -fun main() { - val testInput = readInputAsString("Day06_test") - check(Day06.part1(testInput) == 5934) - check(Day06.part2(testInput) == 26984457539) - - val input = readInputAsString("Day06") - println(Day06.part1(input)) - println(Day06.part2(input)) -} |