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>.txtinsrc/main/resources. - Run the main function in
dev.mtib.aoc23.AoC.ktwith 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.