On December 1st the 2018 edition of Advent of Code will start. For those who don’t know what Advent of Code is: It is a programming competition where the authors release one programming problem every day at midnight EST/UTC-5 (6.00 in Germany).
The difficulty of the problems varies every day and it’s mostly about developing algorithms based on detailed descriptions. If you’re interested in how problems look like, check AOC 2017. You can implement your solution in any language you prefer. You don’t submit your code, but only the response of your algorithm to an input that is given to you on the problem description (this input is different for every user, so you cannot just steal it from others).
There is a leaderboard that shows the 100 fastest coders, i.e. people who submitted a correct solution. The top coders usually submit correct solutions in 5 – 15 minutes, so you have to be really fast to get into the top 100. But even if you don’t make it to the leaderboard, you still can learn a lot by trying to find solutions to these algorithmic problems. There is also the possibilty to create a private leaderboard that you can share with your friends.
I will try to participate in the competition every day and will upload my solutions to a github repository. I might also update this article and share my thoughts on some problems here. If you are stuck with a problem, you can check the subreddit for tips.
For the first time ever I made it to the AOC leaderboard for day 7 part 1. I got rank 69 (7:40 min) for part 1 but only rank 475 for part 2. But I’m still very happy with my part 1 🙂
You can find my (cleaned up) code on my github repo.