···11+`cargo test` runs all days against their inputs and checks the results. You need a Rust toolchain to do anything on this project, you can get one from [rustup](https://rust-lang.org/tools/install/) or by using the devshell in my Nix flake, if you know how to use those.
22+33+For each day, I have a module containing one function for each part, accepting a `&str` and returning a `String`. This is to avoid making invalid assumptions that could cause later refactors. I try to not change anything about part one's code when solving part two, I factor the string processing out into its own function, and try to keep code duplication down. I'm not going for high-quality code here, though; I write the first code that I can think of, and if it solves it, I move on.
44+55+Typically I like to do as much as reasonable with iterator combinators: `.map()`, `.filter()`. and the like. in previous years I used them even when it was more complicated than a procedural `for` loop; this year I'm trying to be more pragmatic with it.
66+77+I like when solutions involve graph theory, that was a favourite area of mine in uni. I'm hoping there will be more compsci theory, it keeps me sharp.
88+99+I anticipate getting stuck at some point, there usually becomes a point where the difficulty ramps up and I have trouble solving. There are [good resources](https://lobste.rs/c/6lunsz) on lobste.rs that I plan to look into, especially the algorithms textbooks, since it's been a few years since my Data Structures and Algorithms courseload.
1010+1111+The inputs are included in this repo, with [apologies](https://lobste.rs/c/irymsx) to Eric Wastl (the creator of AoC). Maybe I'll encrypt them with `rage` or something, that might be fun.