Skip to the content.

This is the second year that I decided to participate in the Advent of Code. Through this document I try to keep track of my progress and explain my solutions. This main page is manually updated by me, but all the other pages are generated automatically based on the docstrings I wrote in the code. This page is intended to mostly explain what Advent of Code is and what tools I chose to solve the puzzles.

What is Advent of Code?

So first of, what is the Advent of Code? Well, as the author, Eric Wastl writes:

Advent of Code is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

As such, the Advent of Code is mostly intended as a fun exercise. The idea is that every day at 6AM CET a new puzzle is released on the AoC website, consisting of two parts. The first part is immediately available and needs to be solved before you can access the second part. Completing the different parts successfully gives you maximally two starts per day , with a total of 50 stars. You can access puzzles from other days if you cannot solve the previous day. There are no hints, outside Googling for others’ solutions.

Solving AoC in Python

Last year was my first attempt at solving AoC and I picked Python because it was the language I was most familiar with. I focussed mostly on just solving the puzzles and didn’t spend too much time on learning new aspects of Python. I had a lot of fun, but this year I also specifically wanted to set myself the goal of updating my knowledge on the Python toolchain and modern practices. This includes things:

That way I hope to learn a lot of new Python things and learn to solve relevant programming problems at once!

Solutions

Here you can find my solutions (on GitHub as well) for the different days: