Now that Advent of Code 2024 has concluded, I wanted to get people’s opinion on what puzzles they especially liked looking back. This could be because of the puzzle mechanics, the description, because you are especially proud of your solution that day, or for any other reason.

Feel free to answer even if you only saw part of the puzzles.

My picks would be:

  • 14 (Restroom Redoubt, robots moving into christmas tree shape). Even though it caught me off-guard in the moment, I did like that part 2 had this very imprecise requirement for once. Definitely made for varied, creative solutions.
  • 15 (Warehouse Woes, robots pushing boxes) The second part was a fairly big complexity spike with just a minor change in the tasks. Basically a form of simulation where the hard part is finding a good data representation for the setup. I liked this one because debugging was such a visual process for me, by printing the grids.
  • 17 (Chronospatial Computer, running a machine code) For me the first really tricky one, but still doable. These assembly puzzles are just neat. A lot of computation is started with a pretty small input, and the task is basically to really understand how this “computer” works.

What have been your favorites?

  • @[email protected]
    link
    fedilink
    English
    22 days ago

    Day 19 is definitely my proudest solve (though learning about Aho-Corasick dampens it a little bit 😅) with some clever ideas to both check towels more efficiently than the naïve approach while creating no Strings to avoid a bunch of heap allocation. Figuring out how to binary search without creating the target object, and merely knowledge of its properties and those of the list, meant I got to use a pretty niche library function and got my solution from 25 to 11 ms.

    • @Acters
      link
      1
      edit-2
      2 days ago

      Nice, don’t be shy to revisit these later on, I am definitely doing the same for older AoC years. I am happy you got it down that low. With python, I am really trying my best to make sure I can figure out a way to keep my solve times lower. Gives me challenge to fight a slow language faults with optimized logic haha

      I will eventually get down with using python and be moving over to Rust. I will eventually be happy to move to an old functional language like Haskell. I don’t think I will learn those specialized languages like uiua, I don’t think I can get over the magic like symbols lol