Advent of Code in Rust π¦
Complete solutions of Advent of Code in Rust, and sometimes in Python and other languages πβ¨.
Made for fun π and to practice Rust. Many thanks to Eric Wastl.
Puzzle | Stars | Languages |
---|---|---|
Day 1: Historian Hysteria | ββ | ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Day 2: Red-Nosed Reports | ββ | ![]() ![]() ![]() |
Day 3: Mull It Over | ββ | ![]() ![]() ![]() ![]() |
Day 4: Ceres Search | ββ | ![]() ![]() |
Day 5: Print Queue | ββ | ![]() |
Day 6: Guard Gallivant | ββ | ![]() |
Day 7: Bridge Repair | ββ | ![]() ![]() ![]() |
Day 8: Resonant Collinearity | ββ | ![]() ![]() |
Day 9: Disk Fragmenter | ββ | ![]() |
Day 10: Hoof It | ββ | ![]() |
Day 11: Plutonian Pebbles | ββ | ![]() ![]() |
Day 12: Garden Groups | ββ | ![]() |
Day 13: Claw Contraption | ββ | ![]() ![]() ![]() |
Day 14: Restroom Redoubt | ββ | ![]() ![]() |
Day 15: Warehouse Woes | ββ | ![]() |
Day 16: Reindeer Maze | ββ | ![]() |
Day 17: Chronospatial Computer | ββ | ![]() |
Day 18: RAM Run | ββ | ![]() ![]() ![]() |
Day 19: Linen Layout | ββ | ![]() |
Day 20: Race Condition | ββ | ![]() |
Day 21: Keypad Conundrum | ββ | ![]() |
Day 22: Monkey Market | ββ | ![]() |
Day 23: LAN Party | ββ | ![]() ![]() |
Day 24: Crossed Wires | ββ | ![]() |
Day 25: Code Chronicle | ββ | ![]() ![]() ![]() |
Calendar | Solutions | Stars | Rust | Python | π |
---|---|---|---|---|---|
Advent of Code 2024 | Solutions | 50β | 25 | 10 | 3 |
Advent of Code 2023 | Solutions | 50β | 25 | 11 | 2 |
Advent of Code 2022 | Solutions | 50β | 25 | 18 | 1 |
Advent of Code 2021 | Solutions | 50β | 25 | 12 | |
Advent of Code 2020 | Solutions | 50β | 25 | 23 | |
Advent of Code 2019 | Solutions | 50β | 25 | 23 | 2 |
Advent of Code 2018 | Solutions | 50β | 25 | 4 | 1 |
Advent of Code 2017 | Solutions | 50β | 25 | 17 | |
Advent of Code 2016 | Solutions | 50β | 25 | 0 | |
Advent of Code 2015 | Solutions | 50β | 25 | 5 | 1 |
Year | Count | Days |
---|---|---|
2024 | 3 | 14 15 16 |
2023 | 2 | 10 14 |
2022 | 1 | 17 |
2019 | 2 | 13 15 |
2018 | 1 | 18 |
2015 | 1 | 18 |
All solutions are tested and verified with a lot of puzzle inputs and answers (personal accounts, family accounts, friends' accounts and those found on GitHub). Thus, they can be considered totally generic.
By choice, I use the most recent versions of the languages, and therefore sometimes new paradigms and functionalities, since AoC is an excellent way to practice, explore and learn (while having fun!).
Rust solutions respect cargo clippy -- -D clippy::all -F clippy::pedantic -F clippy::nursery
, which is a pretty strong hardening (except one clippy::too_many_lines
).
They also include, for the most part, unit tests taken from the examples of puzzle statements.
On average, with all the inputs I have, 80% of them run in less than 100ms on my Apple Silicon M1, and 95% in less than half a second.