@@ -8,19 +8,17 @@ class Day24(private var filename: String) {
88 private val ID_VELOCITY_Y = 4
99 private val ID_VELOCITY_Z = 5
1010
11- fun solvePart1 (minWindow : Long = 200000000000000L, maxWindow : Long = 400000000000000L): Long =
11+ fun solvePart1 (minWindow : Long = 200000000000000L, maxWindow : Long = 400000000000000L): Int =
1212 processDay24(getResourceAsText(filename), minWindow, maxWindow)
13- .first
1413
15- fun solvePart2 (minWindow : Long = 200000000000000L, maxWindow : Long = 400000000000000L): Long =
16- processDay24(getResourceAsText(filename), minWindow, maxWindow)
17- .second
14+ fun solvePart2 (): String =
15+ getPythonResult(" result_part2.txt" )
1816
1917 private fun processDay24 (
2018 input : List <String >,
2119 minWindow : Long = 200000000000000L,
2220 maxWindow : Long = 400000000000000L
23- ): Pair < Long , Long > {
21+ ): Int {
2422 val windowRange = minWindow.. maxWindow
2523
2624 val hailstones = input
@@ -37,18 +35,18 @@ class Day24(private var filename: String) {
3735 }
3836 .toList()
3937
40- val result1 = hailstones
38+ return hailstones
4139 .mapIndexed { index, hailstone ->
4240 hailstones
4341 .drop(index + 1 )
4442 .count { hailstone.collide2D(it, windowRange) }
4543 }
4644 .sum()
47- .toLong()
48-
49- return Pair (result1, 47L )
5045 }
5146
47+ private fun getPythonResult (path : String ): String =
48+ getResourceAsText(path).last()
49+
5250 private fun getResourceAsText (path : String ): List <String > =
5351 this .javaClass.classLoader.getResourceAsStream(path)!! .bufferedReader().readLines()
5452}
0 commit comments