Advent of Code

As far as I can tell from browsing the solution megathreads on reddit, I have the most efficient solution for most of the 2022 problems.

Solutions I'm especially proud of:

  • 2022 day 16, which forced me to find and implement an algorithm that would be efficient enough (branch and bound). It took me 10 hours and was the closest I got to giving up on a problem.
  • 2022 day 20, for which I invented a linked list where each node points to some generic number of steps after it and 1 step behind it.
  • 2022 day 23, where I learned to work with SIMD, and came up with some ideas that later went into my work on lending iterators.

When solving the problems I focused on:

  • Reaching a working solution as quickly as possible
  • Never giving up or looking up the solution
  • After submitting a correct solution, refactoring
  • Reading other solutions to learn about algorithms or patterns I don't know
  • Applying everything to create the most beautiful and efficient solution I can