:)

add readme

+11
+11
README.md
··· 1 + `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. 2 + 3 + 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. 4 + 5 + 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. 6 + 7 + 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. 8 + 9 + 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. 10 + 11 + 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.