in Kotlin!
- Koin (for day resolution)
- JGraphT (for day 25)
- OkHTTP3 (for downloading the puzzle input)
- kotlinx-coroutines (for running stuff in parallel)
- kotlinx-serialization (for (de-)serializing persistent data)
- Place puzzle input in a file named
day<num>.txt
insrc/main/resources
. - Run the main function in
dev.mtib.aoc23.AoC.kt
with the day number as argument.
or build the jar and run it:
gradle aocJar
java -jar app/build/libs/aoc.jar <day>
You can also move .env.example
to .env
and fill in your session cookie to automatically download the puzzle input.
You may also be required to have openscad
in the path.
Running day 4
Part 1:
22488
Runtime: 1.6ms, σ: 2.3ms (297 runs)
Part 2:
7013204
Runtime: 1.0ms, σ: 0.6ms (500 runs)
(but more colorful)
Days are implemented here: dev.mtib.aoc23.day.