2 min read

Advent of Code 2020 Day 25

I know from my experience as a TA for an entry programming class that putting together problems (especially some of the difficult ones he had to explain) is not an easy task, and he ended up doing 49 problem statements, though probably 15-20 shared significantly with their first part predecessors.
Advent of Code 2020 Day 25

Well, with today's puzzle I was able to successfully complete all 50 stars for Advent of Code in 2020. The solution for today was pretty easy once you decrypted the actual puzzle itself to determine what was actually happening. I have to commend Eric on the amazing stories behind the puzzles, it's really amazing how well he's able to put these problem statements together. I know from my experience as a TA for an entry programming class that putting together problems (especially some of the difficult ones he had to explain) is not an easy task, and he ended up doing 49 problem statements, though probably 15-20 shared significantly with their first part predecessors.

Today's puzzle was super straightforward after you were able to understand what the "subject number" was and what it really meant for that to take place. I struggled quite a bit with the "subject number" term in the puzzle, but the reality is that the first part of part one was to loop until you hit the value from your input file/the example based on the subject number of 7. That loop value was used in the second part to generate the final encryption key based on the loop count and the public key from the opposite item (card loop count with door public key or door loop count with card public key). The second part of day 25 was simply to click a button, as I had already completed all of the 49 stars. I assume had I not completed all 49 stars, I wouldn't have been able to complete day 25.

I plan on posting a blog after advent of code (and after I get some time to optimize other solutions potentially) to talk about the things I've taken away from this exercise. I will say that I've already used the things I've learned at work for some updates to older projects, and bumping up my ability to read code in code reviews. Again, I want to make another post about the entire set, so I will do that likely in the future.