Skip to content

Taking a stab at Advent of Code's 2023 puzzles in Python and Rust

Notifications You must be signed in to change notification settings

shouples/adventofcode2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2023

Getting into the holiday spirit with Advent of Code puzzles, this year in Python and Rust*! 🐍🦀☃️🎁

There are three main sections below for each day's puzzle, with two icons/emojis representing parts 1 and 2:

  • the exploration/notebook solution(s) for each part
  • the executable Python for each part (poetry run ./solutions/day____.py)
  • the executable Rust for each part (cargo run --bin ____ --release)

For the non-notebook sections, tests (pytest and cargo nextest) are be included for any with a ✅ to ensure the solutions work with the example inputs provided in each day of Advent of Code puzzle.

Key
done
🕒 to do
unreleased
admitted defeat
Day Notebook 📓 Python 🐍 Rust 🦀 Notes
1 ✅✅ ✅✅ ✅✅
2 ✅✅ ✅✅ ✅✅
3 ✅✅ ✅✅ ✅✅
4 ✅✅ ✅✅ ✅✅
5 ✅⛔ ✅⛔ ✅⛔ I'm having a hard time wrapping my head around what part 2 is asking, even after seeing some visualizations.
6 ✅✅ ✅✅ ✅✅
7 ✅✅ ✅✅ ✅✅ I haven't had to deal with rust's Display impl for custom fmt until now, but it helped debugging quite a bit here; it wasn't as clean/straightforward as python's __repr__ method, but still useful to play with.
8 ✅🕒 ✅🕒 🕒🕒 Initially abandoned part 2, but I think I was on the right track (not brute-forcing) and want to revisit it.
9 ✅✅ ✅✅ ✅✅
10 ✅⛔ ✅⛔ ✅⛔
11 ✅✅ ✅✅ 🕒🕒
12 ✅⛔ ✅⛔ 🕒🕒 Getting pretty tired of the "do part 1 but with way more data" trend here.
13 ✅⛔ ✅⛔ 🕒🕒 Multiple examples were working in part 2, but something isn't quite working correctly on the actual inputs.
14 ✅⛔ ✅⛔ 🕒🕒
15 ✅✅ ✅✅ 🕒🕒 This was a nice little break compared to the past week's puzzle offerings.
16 ✅✅ ✅✅ 🕒🕒
17 ✅⛔ ✅⛔ 🕒🕒 Same issue as day 13 with part 2 here.
18 ✅✅ ✅✅ 🕒🕒
19 ✅⛔ ✅⛔ 🕒🕒
20 🕒🕒 🕒🕒 🕒🕒
21 🕒🕒 🕒🕒 🕒🕒
22 ⛔⛔ ⛔⛔ ⛔⛔ Example passed, real input kept being flagged as too high.
23 ❔❔ ❔❔ ❔❔
24 ❔❔ ❔❔ ❔❔
25 ❔❔ ❔❔ ❔❔

*I'm starting with Python each day, and using this year as a way to become generally more comfortable with Rust. Maybe I'll start puzzles in Rust next year!

About

Taking a stab at Advent of Code's 2023 puzzles in Python and Rust

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published