aboutsummaryrefslogtreecommitdiff
path: root/src/Day09.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/Day09.kt')
-rw-r--r--src/Day09.kt19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/Day09.kt b/src/Day09.kt
index 9fef398..9d0c41d 100644
--- a/src/Day09.kt
+++ b/src/Day09.kt
@@ -1,8 +1,8 @@
-fun Map<Pos2D, Int>.getLowPoints(): Map<Pos2D, Int> =
- filter { (pos, num) -> Pos2D.directions4.all { num < getOrDefault(pos + it, 9) } }
+object Day09 {
+ private fun Map<Pos2D, Int>.getLowPoints() =
+ filter { (pos, num) -> Pos2D.directions4.all { num < getOrDefault(pos + it, 9) } }
-fun main() {
- fun part1(input: List<String>): Int =
+ fun part1(input: List<String>) =
parseToMap(input).getLowPoints().values.sumOf { it + 1 }
fun part2(input: List<String>): Int {
@@ -27,13 +27,14 @@ fun main() {
.take(3)
.sum()
}
+}
-
+fun main() {
val testInput = readInputAsLines("Day09_test")
- check(part1(testInput) == 15)
- check(part2(testInput) == 1134)
+ check(Day09.part1(testInput) == 15)
+ check(Day09.part2(testInput) == 1134)
val input = readInputAsLines("Day09")
- println(part1(input))
- println(part2(input))
+ println(Day09.part1(input))
+ println(Day09.part2(input))
}