2024-12-20 - Race Condition
2024-12-19 - Linen Layout
2024-12-18 - RAM Run
2024-12-12 - Garden Groups
2024-12-11 - Plutonian Pebbles
2024-12-10 - Hoof It
2024-12-09 - Disk Fragmenter
2024-12-08 - Resonant Collinearity
Day 8 puzzle input is a grid showing the positions of certain antennae each operating on different frequencies (same letter/digit = same frequency), mine is here). Part 1 involves finding "antinodes" (can't be bothered explaining, it's stupid) and counting how many there are. Part 2 involves adjusting how the "antinodes" are calculated and counting them again.
2024-12-07 - Bridge Repair
Day 7 puzzle input is a list of values followed by a sequence of "equations" that don't have any operators between them, mine is here). Part 1 involves inserting either addition or multiplication operators to make the equation compute the reading value. Part 2 involves doing the same but with the addition of a concatenation operator (where 1 || 2
gives 12
)
2024-12-06 - Guard Gallivant
Day 6 puzzle input is a little 2D of empty space, obstacle and a guard (".", "#" and "^" respectively), mine is here). Part 1 involves following a set of rules governing the guard's movement and identifying the number of distinct places he visits before leaving the area. Part 2 involves finding the number of places you can add an obstacle to so that the guard ends up in a loop.
2024-12-05 - Print Queue
Day 5 puzzle input is a list of rules that determine the correct order of things (first|second
implies first
has to appear before second
for an "update" to be valid), mine is here). Part 1 involves using these rules to identify the valid updates then sum their middle elements. Part 2 involves taking the invalid updates and reordering them according to the rules so that they're valid and then summing their middle elements.
2024-12-04 - Ceres Search
Day 4 puzzle input is grid of letters, mine is here). Part 1 involves finding the text "XMAS" vertically/horizontally/diagonally both forwards/backwards and up/down. Part 2 involves finding the letter "A" flanked by two "M"s and and "S" in an "X" formation - again forwards/backwards/up/down.
2024-12-03 - Mull It Over
Day 3 puzzle input is a bunch of text with something that looks like function calls embedded (mul(x,y)
, don't()
, do()
) scattered throughout, mine is here). Part 1 involves evaluating each mul
expression and summing the results. Part 2 involves doing the same but in-order, but ignoring all mul
expressions after a dont
call until we hit a do
call.
I misunderstood the task - I thought maybe the parser had to be a little more advanced and that we'd maybe have expressions with nested calls like mul(10, mul(20,30), 40)
, but apparently not. Many people easily solved this by just tearing through it with a regex like mul(\d+,\d+)|do()|don't()
and iterating over the matches.
2024-12-02 - Red-Nosed Reports
Day 2 puzzle input is a list of sequences of integers which represent a series of level readings mine is here). Part 1 involves determining how series of readings (lines of input) are "safe" (no reading is any other than 1-3 higher or lower than the previous, and readings are only ever increasing or decreasing). Part 2 involves doing the same but if removing any one element causes the series to satisfy the rules.
2024-12-01 - Historian Hysteria
Day 1 puzzle input is a list of pairs of integers which represent some location identifiers (mine is here). Part 1 involves treating the list as two separate columns of data, sorting each and finding the sum of differences between each corresponding element of each column. Part two involves calculating a "similarity" score for each element of the left column (each value in the left column multiplied by how many occurrences of each value there are in the right column) and finding the sum of all similarity scores.