Solutions repository for the Advent of Code (AoC) challenges.
2024 is my very first experience with AoC, and I’m clearly not competitive on the global leaderboard. Enjoying myself greatly all the same!
Since I accidentally solved a problem for 2015 at one point during the 2024 edition (don’t ask), I’ve decided to put solutions for any previous AoC editions on this repo as well.
I deliberately choose not to use any AI-based tools such as Copilot, ChatGPT or Mistral/Codestral. I aim to put my own skill set, including documentation searches, to the test.
Python is by far my favourite scripting language, the one with which I can yield results the fastest, and a language I have taught at university. It is thus my weapon of choice for these challenges.
I use Python with the following constraints to resolve the AoC challenges (as of December 2024):
-
Using the standard library and constructs available in Python 3.11 (or, alternatively, whatever Python version is shipped by default in the current stable version of Debian GNU/Linux)
-
No third party libraries (NumPy, etc.). To be fair, the standard library is humongous already compared to other languages, which is a boon for AoC challenges.
-
Assume Python 3.11 or above, which implies some language semantics that have changed since 3.0, such as key insertion order being preserved in dictionaries. Thus, there is no guarantee that solutions written here will yield correct results (or even run, due to more recent language constructs such as the walrus operator) with Python 3.10 or below.