Advent Of Code 2023
Reflections on Advent of Code 2023
Last December marked my first successful completion of the entire 25 days of Advent of Code. Although I had attempted it in previous years, this was the first time I managed to finish the challenge within the allotted 25 days. I’d like to take a moment to reflect on the differences in approach I took this year.
The primary issue I have with Advent of Code stems from my difficulty in identifying the required algorithm for a given problem statement. A few years ago, I could determine the appropriate algorithm after reading the problem description in most cases. However, the rarity of encountering such problems on a day-to-day basis has led to a diminishing familiarity, even with fundamental algorithms.
In past years, when faced with difficulties in accomplishing specific assignments during the 25-day cycle of Advent of Code, I would often abandon the challenge entirely. However, this year, I adopted a different strategy. Instead of giving up, I treated each problem I couldn’t initially solve as a valuable learning opportunity. I delved into alternative solutions on Reddit, YouTube, or GitHub to understand how others approached the same assignment.
This allowed me to learn or relearn various algorithms and mathematical concepts such as Dijkstra’s algorithm, the Scanline Algorithm, Manhattan distance, or even something as fundamental as the Least Common Multiple, to name a few.
The reason for jotting down these notes here is to remind myself that in specific situations, I sometimes overlook the importance of maintaining a learner’s mindset, especially in this professional domain, but also in life overall. It’s vital to put aside our egos and cultivate a continuous desire for learning. This lesson stands as a good takeaway as we wrap up 2023 and step into 2024.
The statements and solution of the 2023 Advent Of Code can be viewed on github.com/DragosGeornoiu/advent-of-code/