Skip to content

Latest commit

 

History

History
Day Title Part 1 Part 2 Link
Day 1 Historian Hysteria Given two lists of numbers, pair smallest-to-smallest and sum the absolute differences between pairs. For each number in left list, multiply it by its frequency in right list and sum all products. 🌐
Day 2 Red-Nosed Reports Count sequences where numbers are strictly increasing/decreasing by 1-3. Same as part 1, but allow removing one number to make sequence valid. 🌐
Day 3 Mull It Over Find valid mul(X,Y) instructions in corrupted text and sum their products. Same but respect do()/don't() instructions that enable/disable multiplication operations. 🌐
Day 4 Ceres Search Count occurrences of XMAS in a grid (horizontal, vertical, diagonal, forwards/backwards). Count occurrences of X-shaped MAS patterns (two MAS strings forming an X shape). 🌐
Day 5 Print Queue Given a list of page ordering rules (X|Y means X must come before Y) and sequences of page numbers, find correctly ordered sequences and sum their middle numbers. Take incorrectly ordered sequences, reorder them according to rules, and sum their middle numbers. 🌐
Day 6 Guard Gallivant Track path of guard following simple movement rules (turn right if blocked, else move forward) and count distinct positions visited before leaving map. Find number of possible positions where placing an obstacle would trap guard in infinite loop. 🌐
Day 7 Bridge Repair Find equations that can be solved using + and * operators (left-to-right evaluation) and sum their test values. Same as part 1, but also including || (concatenation) operator. 🌐
Day 8 Resonant Collinearity Count unique antinode locations where two same-frequency antennas are aligned with one being twice as far as the other. Count unique antinode locations where any two or more same-frequency antennas are aligned, regardless of distance. 🌐
Day 9 Disk Fragmenter Move file blocks one at a time from end to leftmost free space and calculate checksum (position * file ID sum). Same as part 1, but move entire files instead of blocks, from highest to lowest file ID. 🌐
Day 10 Hoof It Find trailheads (height 0) and count how many height-9 positions each can reach via paths that increase by 1. Sum all scores. For each trailhead, count number of distinct possible paths to any height-9 position. Sum all these counts. 🌐
Day 11 Plutonian Pebbles Transform stones with numbers according to rules (if 0 -> 1, if even digits -> split in half, else -> multiply by 2024) for 25 iterations and count resulting amount of stones. Same as part 1, but for 75 iterations. 🌐
Day 12 Garden Groups Calculate total price of fencing garden regions by multiplying each region's area by its perimeter. Same as part 1, but instead of perimeter, use total number of distinct fence sides regardless of length. 🌐
Day 13 Claw Contraption Find minimum tokens needed to win prizes by pressing A (3 tokens) and B (1 token) buttons that move claw by X,Y amounts to reach prize coordinates. Same but with prize coordinates increased by 10^13 on both X and Y axes. 🌐
Day 14 Restroom Redoubt Predict positions of robots moving in straight lines that wrap around edges after 100 movements. Then multiply number of robots in each quadrant. Find minimum movements needed for robots to form a Christmas tree pattern. 🌐
Day 15 Warehouse Woes Track a robot (@) pushing boxes (O) around a warehouse according to movement instructions (^v<>). Calculate sum of box GPS coordinates (row * 100 + col) after all moves. Same as part 1, but with double-width warehouse and boxes ([]). Robot stays same size. 🌐
Day 16 Reindeer Maze Find lowest possible score to reach the end of a maze (1 point per step, 1000 points per turn). Count how many tiles are part of any optimal (lowest-score) path through the maze. 🌐
Day 17 Chronospatial Computer Run a 3-bit computer program with given register values and instructions and output the sequence of results. Find lowest initial value for register A that makes the program output itself. 🌐
Day 18 RAM Run Find shortest path from top left corner to bottom right corner in a grid where coordinates are getting corrupted by falling bytes. Must avoid corrupted spots and stay within bounds. Find coordinates of the first falling byte that makes it impossible to reach the exit. 🌐
Day 19 Linen Layout Count how many towel designs are possible to make using given pattern pieces. Count total number of different ways each possible design can be made. 🌐
Day 20 Race Condition Find number of possible 2-tile wall-passing cheats that save >= 100 tiles vs normal path. Same as part 1, but with up to 20-tile wall-passing cheats. 🌐
Day 21 Keypad Conundrum Control a chain of 3 robots (using directional keypads) to input codes on a numeric keypad. Calculate sum of complexities (sequence_length * numeric_code) of the codes at the end of the chain. Same as part 1, but with 26 robots in the chain instead of 3. 🌐
Day 22 Monkey Market Given a list of initial numbers, calculate each number's 2000th generation using a specific transformation process, then sum all 2000th numbers. Convert each generated number to its ones digit to get prices. Find the sequence of 4 price changes that, when applied to all buyers' price histories, results in the highest sum of prices at the points where that sequence first appears. 🌐
Day 23 LAN Party Count sets of 3 interconnected computers where at least one computer name starts with t. Find the largest set of fully interconnected computers where each computer directly connects to all others in the set. 🌐
Day 24 Crossed Wires Simulate boolean logic gates (AND, OR, XOR) with initial values on x-wires and y-wires to compute final decimal number on z-wires. Find 4 pairs of swapped gate outputs to make the circuit correctly perform binary addition. 🌐
Day 25 Code Chronicle Analyze lock/key schematics to find how many unique pairs fit together without overlap. Each lock/key is represented as columns of # extending down/up. No actual puzzle - just a story conclusion. Free star after completing all previous 49 puzzles. 🌐

2024