Skip to content
/ aoc2022 Public

www.adventofcode.com's December coding contest -- a new 2-part puzzle every day for 25 days!

Notifications You must be signed in to change notification settings

dantho/aoc2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

97 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2022

Teradyne private Leaderboard for adventofcode.com/2022

Day Stars Comments (SPOILER ALERT!)
1: Calorie Counting ⭐⭐ Sum Calories by elf, find max elf. Add sorting to find sum of top 3 elves.
2: Rock Paper Scissors ⭐⭐ Circular buffer for game logic
3: Rucksack Reorganization ⭐⭐ Find dups, then find dups in groups
4: Camp Cleanup ⭐⭐ Parsing input data could have been done in about 10 minutes in VS Code. Took more than 1 hour in code. :(
5: Supply Stacks ⭐⭐ Parsing two types of data was a pain, took much more time than algo did. Crates section of input had to be transposed so columns were vectors of crates instead of rows. Used pop/push for part 1. Used temporary storage and vec.append() for part 2. Didn't visualize. :(
6: Tuning Trouble ⭐⭐ Protocol-aware puzzle -- write start-of-packet marker detection routine
7: No Space Left On Device ⭐⭐ Terminal output parsing for directory structure/navigation. Tried/failed to use Trees crate. Tracked directory sizes in HashMap with full path as key.
8: Treetop Tree House ⭐⭐ Simple elevation gradient algos in 4 directions
9: Rope Bridge ⭐⭐ Weird rope knot dynamics -- tried/failed to visualize with animation via CrossTerm::Cursor::MoveTo. :(
10: Cathode-Ray Tube ⭐⭐ Very simple ALU with 2 op codes. Part 2 prints pixels for the human to read.
11: Monkey in the Middle ⭐⭐ Difficult puzzle for 3 reasons: 1) Input didn't lend itself to parsing. Instead, I maniputlated input text into data structure syntax; 2) One piece of data was a function -- a lambda function; 3) Had to figure out how to "limit" intermediates, without further instructions, just "figure it out".
12: Hill Climbing Algorithm ⭐⭐
13: Distress Signal ⭐⭐
14: Regolith Reservoir ⭐⭐ Filling Fast Fun! With sand! References 2018's Day 17: Reservoir Research, but I rewrote from scratch. Faster? Animation opportunity.
15: Beacon Exclusion Zone ⭐⭐ Brute force barely works in part 1. Part 2 was kinda brutal.
16: Proboscidea Volcanium HARD! Valves, flow rates, paths. Weighted Graph Algo, Maximum/Minimum Spanning Trees, greedy algorithms, all paths? Ugh. Reduce and enumerate worked for example. :(
17: Pyroclastic Flow ⭐⭐ Tetris with volcanic rocks! Part 2 is an annoying repetition detection thing. A spreadsheet helps. Also helps to realize repetition implies, THE WHOLE OF THE DATASET will repeat, so ANY part of it also repeats.
18: Boiling Boulders ⭐⭐ Finding air in 3-space. Part 2 is finding open air only.
19: Not Enough Minerals Robot factory processing Clay, Ore, Obsidian, Geode.
20: Grove Positioning System Seemingly simple unscramble. Anything but!! Reverse-Scramblng a list of indices to original (untouched) list. Works for examples, not puzzle.
21: Monkey Math ⭐⭐ Part 1 simple algebra chain from known to answer. Part 2 creates a Jeopardy portion, where the answers are known, the inputs aren't.
22: Monkey Map ⭐⭐ Part 1 is weird with space on map. Part 2 is brutal with the extra complexity folded in (pun intended). ~2 days effort!
23: Unstable Diffusion ⭐⭐ NSWE Elvish Diffusion. Just follow the numerous rules.
24: Blizzard Basin ⭐⭐ 4 variants of blizzard treated as groups, move anywhere possible from all possible positions so far. Done as soon as you reach the end.
25: Full of Hot Air Snafu numbers (like Roman numerals) -- Tricky.

About

www.adventofcode.com's December coding contest -- a new 2-part puzzle every day for 25 days!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages