aboutsummaryrefslogtreecommitdiff
path: root/src/Day09.kt
diff options
context:
space:
mode:
authortchojnacki <tomaszchojnacki2001@gmail.com>2021-12-14 12:57:10 +0100
committertchojnacki <tomaszchojnacki2001@gmail.com>2021-12-14 12:57:10 +0100
commitfbd07e79691c848582b792da46f0deb52957b686 (patch)
treeb7d8e0724144a6f453b915583bee51ca2e712f68 /src/Day09.kt
parentd0690ab93cb82efe575d77d117426ab2d5eafaa9 (diff)
downloadgleam_aoc2020-fbd07e79691c848582b792da46f0deb52957b686.tar.gz
gleam_aoc2020-fbd07e79691c848582b792da46f0deb52957b686.zip
Finish day 11
Diffstat (limited to 'src/Day09.kt')
-rw-r--r--src/Day09.kt11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/Day09.kt b/src/Day09.kt
index 0d22610..9fef398 100644
--- a/src/Day09.kt
+++ b/src/Day09.kt
@@ -1,12 +1,5 @@
-fun parseToMap(input: List<String>): Map<Pos2D, Int> =
- input.flatMapIndexed { y, line ->
- line.mapIndexed { x, char ->
- Pos2D(x, y) to char.toString().toInt()
- }
- }.toMap()
-
fun Map<Pos2D, Int>.getLowPoints(): Map<Pos2D, Int> =
- filter { (pos, num) -> Pos2D.directions.all { num < getOrDefault(pos + it, 9) } }
+ filter { (pos, num) -> Pos2D.directions4.all { num < getOrDefault(pos + it, 9) } }
fun main() {
fun part1(input: List<String>): Int =
@@ -17,7 +10,7 @@ fun main() {
fun traverseBasin(pos: Pos2D, acc: MutableSet<Pos2D>) {
acc.add(pos)
- Pos2D.directions
+ Pos2D.directions4
.map { pos + it }
.filter { !acc.contains(it) && map.getOrDefault(it, 9) < 9 }
.forEach { traverseBasin(it, acc) }