Advent of Code is a collection of delightful (or infuriating—depending on how you look at them) programming puzzles. A new set is released every year on December 1st by the creator Eric Wastl. The puzzles can be done in any programming language or even with pen and paper, because the answer is always one line of text (usually a large number). There are two parts to each problem, the second adding a twist on the first but sharing the same input.
Since it’s an “advent,” a new puzzle unlocks every day until December 25th. The most fun to do the event is with a group of friends on a private leaderboard where you get more points for completing the day’s challenge quicker. Also, many people pick a new unfamiliar or fun language to do the problems in, because the all the solutions are fairly short and the language you pick is never the bottleneck—it’s always the algorithm and how you approach the solution.
The biggest challenge is to get to the end—the problems get progressively more difficult, and many people simply drop off, unable to keep up the commitment. I’ve been participating since 2019 but never finished all the problems for a year. This year It’s Different™ and I’ve set enough time and energy to see the series through to the end.
In 2023 I’m doing Advent of Code in Go. The main reason is that I’m using the language for some of my other projects and want to become proficient. I’m also uploading all my solutions to a GitHub repository.
There will be a post for every day of the event, linked below. I’m certain that as the event progresses, it will give me many topics to dive into later, so I’m really looking forward to that.
December 25 update:
I’m done for now! The puzzles have been hard but manageable, and except for the final few days I never got completely stuck and was able to Google my way out of the problem. I’m down three stars: part 2 for day 21, part 2 for day 24 and the final star that you get automatically for completing everything else. I aim to complete the event later when I write up the details of each day.
My times for each day as of now (December 25) are below:
--------Part 1-------- --------Part 2--------
Day Time Rank Score Time Rank Score
25 06:53:35 5224 0 - - -
24 06:40:09 6610 0 - - -
23 06:46:34 7115 0 13:22:44 6672 0
22 09:36:20 7386 0 09:45:19 6315 0
21 08:15:32 12570 0 - - -
20 07:36:14 8496 0 11:52:09 7224 0
19 06:26:16 11864 0 07:48:25 6916 0
18 11:25:01 15089 0 11:36:01 10003 0
17 13:47:09 11434 0 13:52:16 10277 0
16 07:39:33 13993 0 08:09:28 13402 0
15 05:34:48 19150 0 06:14:58 15717 0
14 12:09:51 24071 0 14:26:54 18536 0
13 07:17:17 15732 0 08:38:36 13469 0
12 02:51:20 8530 0 19:17:54 14953 0
11 11:57:09 29449 0 12:40:04 27999 0
10 06:42:12 19290 0 08:43:30 11406 0
9 04:43:12 20460 0 04:47:09 19562 0
8 06:11:22 32079 0 07:49:37 23532 0
7 07:45:46 30345 0 08:26:21 25698 0
6 07:45:34 39815 0 08:24:59 40088 0
5 17:56:32 60799 0 >24h 47386 0
4 06:31:44 44779 0 07:13:23 36487 0
3 08:32:24 39629 0 09:00:57 32585 0
2 07:52:42 48752 0 08:06:11 45969 0
1 08:49:54 70150 0 12:35:35 64428 0
Every day covered
(links will appear when the posts are published)
- Trebuchet?!
- Cube Conundrum
- Gear Ratios
- Scratchcards
- If You Give A Seed A Fertilizer
- Wait For It
- Camel Cards
- Haunted Wasteland
- Mirage Maintenance
- Pipe Maze
- Cosmic Expansion
- Hot Springs
- Point of Incidence
- Parabolic Reflector Dish
- Lens Library
- The Floor Will Be Lava
- Clumsy Crucible
- Lavaduct Lagoon
- Aplenty
- Pulse Propagation
- Step Counter
- Sand Slabs
- A Long Walk
- Never Tell Me The Odds
- Snowverload