This repository stores my Advent Of Code solutions for 2024, written in Mathematica. Some of these solutions are simple one-liners, and others are procedural and not fundamentally different from most other common programming languages, and so don't have any READMEs associated with them. Some (marked in bold) are more involved and have (or need) explanations. I'm using .m, since it seems to be parsable, and trying to make the code somewhat readable as plaintext, but casual Mathematica in general is notebook-heavy, and isn't great to view on GitHub.
There's also a utilities file, Ulitities.nb
, with some functions that proved useful in previous years. This is not a true utils file, in that it isn't a paclet and that I don't import the function definitions directly, but it's mostly there as boilerplate code I can copy in when need be.
- Day 1: Historian Hysteria
- Day 2: Red-Nosed Reports
- Day 3: Mull It Over
- Day 4: Ceres Search
- Day 5: Print Queue
- Day 6: Guard Gallivant (I attempted a faster solution using Graph[], and then via cached raycasting, but nothing I tried was a significant speedup)
- Day 7: Bridge Repair
- Day 8: Resonant Collinearity
- Day 9: Disk Fragmenter
- Day 10: Hoof It
- Day 11: Plutonian Pebbles (Contains an
O(log(N))
solution and examples up to 10^100) - Day 12: Garden Groups
- Day 13: Claw Contraption
- Day 14: Restroom Redoubt
- Day 15: Warehouse Woes
- Day 16: Reindeer Maze
- Day 17: Chronospatial Computer
- Day 18: RAM Run
- Day 19: Linen Layout
- Day 20: Race Condition
- Day 21: Keypad Conundrum (Genuinely elegant solution using
Graph[]
, and also a digression into the TAS for Dr. Sudoku) - Day 22: Monkey Market (First time where using
Compile[]
was worth the extra setup time) - Day 23: LAN Party (Has multiple part 1 solutions timing out different ideas)
- Day 24: Crossed Wires (I did part 2 by hand; the code here is the code I used to visualize the relevant components.)
- Day 25: Code Chronicle
Merry Christmas!