Another year, another Advent of Code.
Like last year, we’re doing Rust. I’ve really grown to love the language since last year… and hopefully I’ve learned a bit more about how to write more ‘proper’ Rust. I know I had some issues last year. Functional… but it could be better.
Let’s see how it goes!
For full solutions, as always, I post to GitHub (including previous years and possibly some I haven’t written up yet): jpverkamp/advent-of-code
Here’s a full list of all of the posts:
Posts in Advent of Code 2023:
- Advent of Code 2023
- AoC 2023 Day 1: Calibrationinator
- AoC 2023 Day 2: Playinator
- AoC 2023 Day 3: Gearinator
- AoC 2023 Day 4: Scratchinator
- AoC 2023 Day 5: Growinator
- AoC 2023 Day 6: Racinator
- AoC 2023 Day 7: Pokinator
- AoC 2023 Day 8: Mazinator
- AoC 2023 Day 9: Stackinator
- AoC 2023 Day 10: Pipinator
- AoC 2023 Day 11: Big Banginator
- AoC 2023 Day 12: Question Markinator
- AoC 2023 Day 13: Reflectinator
- AoC 2023 Day 14: Spininator
- AoC 2023 Day 15: Hashinator
- AoC 2023 Day 16: Reflectinator
- AoC 2023 Day 17: A-Starinator
- AoC 2023 Day 18: Flood Fillinator
- AoC 2023 Day 19: Assembly Lininator
- AoC 2023 Day 20: Flip-Flopinator
- AoC 2023 Day 21: Step Step Stepinator
- AoC 2023 Day 22: Block Dropinator
- AoC 2023 Day 23: Looong Mazinator
- AoC 2023 Day 24: Collisionator
- AoC 2023 Day 25: Graph Splitinator
- Advent of Code 2023 - Testing and Timing
At least at first, I’m going to be using the same helper lib and template that I had last year, with a few changes:
part1
andpart2
are returninganyhow
Result<String>
; this will allow us to use the?
operator- I cleaned up a few suggestions that
cargo clippy
suggested - The built in tests are testing both
data/test/__.txt
(the given small test case) and my full data
That’s really about it though. I’d like to switch over to a workspace and properly extract some shared code into modules or dig more deeply into benchmarking, but we’ll see if I get there.
Onward!
And here are my previous year’s solutions: