These are solutions originally written in 2017 for the Advent of Code challenge. It was one of my first introductions to solving problems like this, so many of the solutions are messy or poorly structured (and there are very few comments).
A better structure for how to run this challenge can be found in my 2021 AOC repository. The solutions are still not polished in here, but the structure and helper functions are better designed.
Rather than go back and make these look neat and polished, I like to be able to reflect on where I started, and the improvements that I have made over the years.