forward N
, down N
, and up N
that move forward, increase depth, and decrease depth in that order. Calculate the product of the final position and depth.Been a while since I’ve done an advent of code! I’ll probably backfill a few years eventually, but for now, let’s just write some code!
As always, these problems are wonderful to try to solve yourself. If you agree, stop reading now. This post isn’t going anywhere.
If you’d like to see the full form of any particular solution, you can do so on GitHub (including previous years and possibly some I haven’t written up yet): jpverkamp/advent-of-code
Part 1: Create an infinite stream of numbers, by starting with [3, 7] with two pointers: 0 and 1. To add values to the list:
- Add the current values of the two pointers
- If the value is less than ten, add that value to the end of the list
- If the value is greater or equal to ten, add 1 and then the ones digits to the end of the list
- Update each pointer by adding the value it is pointing at to its current index plus one
With that algorithm, find the ten digits after a given index.
Part 1: Load a minecart track that looks like this:
/->-\
| | /—-
| /-+–+-\ |
| | | | v |
-+-/ -+–/
-—–/
Part 1: Create an infinite 2D cellular automaton with transition rules based on two points to each side, starting with initial state at index 0 to the right.
After 20 generations, what is the sum of indexes of points turned on?
Part 1: Define a grid as follows (x,y coordinates + a constant C):
- r(x) = x + 10
- G(x, y) = hundreds(r(x) * (r(x) * y + C)) - 5
Find the 3x3 area in a 300x300 grid with the highest total G(x, y) .
Part 1: Given a system of moving particles (with position and velocity) find the point where the particles spell a message. What is that message?