DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

JoeStrout
JoeStrout

Posted on

Advent of Code 2022 Wrap-Up

Last year, mid-November, I discovered the annual Advent of Code challenges. This is a fun event happens every December, with a programming challenge posted nightly every day from the 1st to the 25th. The challenges are interesting and varied, and form a story (of sorts) about Christmas elves and their adventures.

People all over the world give these challenges a try; nearly 250 thousand people completed at least the first challenge. Though we're all facing the same tasks, the input file β€” and therefore the correct answer β€” is unique to each player. So you can't just find the answers on the internet; you have to write some code. (And in fact each day has two versions of the task: a simpler version, and a more complex follow-on.)

I decided this would be a great chance to exercise MiniScript, a new(ish) scripting language designed to be particularly simple and clear. And so I did. I did early challenges in command-line MiniScript, but after a few days, switched to Mini Micro so I would have access to graphics and some handy libraries.

The result was, in short, a delight. I was able to solve both versions of all 25 tasks, and MiniScript held up like a champ. And in many cases, I was able to produce fun (or even useful!) visualizations of the problem and solution.

So, for posterity, here is a link to my write-ups of all 25 challenges from the 2022 Advent of Code.

  1. Snack Calories
  2. Rock Paper Scissors
  3. Rucksack Reorganization
  4. Camp Cleanup
  5. Supply Stacks β€” the first day I used Mini Micro
  6. Tuning Trouble β€” first time I got into the top 1000
  7. No Space Left On Device β€”Β solved two ways
  8. Treetop Tree House
  9. Rope Bridge Animated display of the example from Part B
  10. Cathode-Ray Tube Screen shot of display showing BPJAZGAP in block letters
  11. Monkey in the Middle
  12. Hill Climbing Algorithm
  13. Distress Signal β€” first time in the top 300
  14. Regolith Reservoir Particles of sand flowing into a series of obstacles
  15. Beacon Exclusion Zone Diagram of sensor areas
  16. Proboscidea Volcanium β€” first time I went to bed without a solution
  17. Pyroclastic Flow Blocks falling and stacking up in a pit.  Please turn your monitor sideways for proper viewing.
  18. Boiling Boulders and a follow-up
  19. Not Enough Minerals β€”Β my least satisfying solution
  20. Grove Positioning System β€” a hard lesson about making assumptions
  21. Monkey Math
  22. Monkey Map Image of complex path in blue, taken through a cubical map of light gray with brown obstacles.
  23. Unstable Diffusion Animation of elves spreading out over 10 rounds
  24. Blizzard Basin Visualization of elf party moving through a large field of moving obstacles
  25. Full of Hot Air β€” a blissfully simple final challenge.

I already wrote some final thoughts at the end of my Day 25 write-up. So, I'll just conclude here by saying that the exercise was both fun and useful, and I'm looking forward to playing again next year!

Top comments (0)

Layoffs: It’s Okay to Not Be Okay