Java 21 solutions to AOC 2024. The aim is to achieve the following objectives, in the order of priority:
- Write clean and readable code
- Explore Java 21 constructs
- Explore innovative ways to solve the problems
- Use functional programming techniques, iff it makes the solution more elegant
Day | Source | Part 1 Runtime | Part 2 Runtime |
---|---|---|---|
Day 1 | Historian Hysteria | 30ms | 30ms |
Day 2 | Red Nosed Reports | 17ms | 17ms |
Day 3 | Mull It Over | 10ms | 1ms |
Day 4 | Ceres Search | 12ms | 22ms |
Day 5 | Print Queue | 5ms | 3ms |
Day 6 | Guard Gallivant | 19ms | 1391ms |
Day 7 | Bridge Repair | 38ms | 1708ms |
Day 8 | Resonant Collinearity | 32ms | 50ms |
Day 9 | Disk Fragmenter | 22ms | 212ms |
Day 10 | Hoof It | 26ms | 27ms |
Day 11 | Plutonian Pebbles | 3ms | 93ms |
Day 12 | Garden Groups | 26ms | 19ms |
Day 13 | Claw Contraption | 1ms | 3ms |
Day 14 | Restroom Redoubt | 1ms | 286ms |
Day 15 | WarehouseWoes | 7ms | 12ms |
- All runtimes are approximate and measured on Macbook Pro M3 with just a single run
- Source code notes are available in the respective source files outlining the approach and the thought process