Java Version is 23 , to include Tuples and Pattern Match on Type
| Problem | 1 | 2 | |
|---|---|---|---|
| Day 1: Historian Hysteria | Simple Array ops | * | * |
| Day 2: Red-Nosed Reports | Array Manipulation | * | * |
| Day 3: Mull It Over | Regexes | * | * |
| Day 4: Ceres Search | Search 2D Array | * | * |
| Day 5: Print Queue | List re-ordering | * | * |
| Day 6: Guard Gallivant | Grid Path Tracing | * | * |
| Day 7: Bridge Repair | State Search | * | * |
| Day 8: Resonant Collinearity | Vector Math | * | * |
| Day 9: Disk Fragmenter | Simple Defragmentation | * | * |
| Day 10: Hoof It | State Search | * | * |
| Day 11: Plutonian Pebbles | Automata required Optimization | * | * |
| Day 12: Garden Groups | Flood Fill/Perimeter Walk | * | * |
| Day 13: Claw Contraption | Linear Algebra | * | * |
| Day 14: Restroom Redoubt | Automata & Guesswork | * | * |
| Day 15: Warehouse Woes | 2D Simulation Move/Hitbox | * | * |
| Day 16: Reindeer Maze | Dijkstra's with Extra Steps | * | * |
| Day 17: Chronospatial Computer | ASM Reverse Engineering | * | * |
| Day 18: RAM Run | Dijkstra's with Extra Steps | * | * |
| Day 19: Linen Layout | String Manipulation/Memoization | * | * |
| Day 20: Race Condition | Dijkstra's with Extra Steps | * | * |
| Day 21: Keypad Conundrum | Coordinate Mapping Cubed | * | * |
| Day 22: Monkey Market | Maths | * | * |
| Day 23: LAN Party | Graph Cliques | * | * |
| Day 24: Crossed Wires | Circuit Simulation/Binary Stuff | * | * |
| Day 25: Code Chronicle | Array Manipulation | * | * |
I haven't worked with Java in over a decade. So my style will at best be outdated. Don't expect this code to be idiomatic, modern, or good.
Day 06 is still taking over a second (~1400ms), but after much work, I'm just going to live with it.