diff --git a/2023/Cargo.lock b/2023/Cargo.lock index b527531..0325d59 100644 --- a/2023/Cargo.lock +++ b/2023/Cargo.lock @@ -112,6 +112,14 @@ dependencies = [ "nom_locate", ] +[[package]] +name = "day-12" +version = "2023.0.0" +dependencies = [ + "itertools", + "nom", +] + [[package]] name = "day-2" version = "2023.0.0" diff --git a/2023/day-12/Cargo.toml b/2023/day-12/Cargo.toml new file mode 100644 index 0000000..4f83799 --- /dev/null +++ b/2023/day-12/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "day-12" +version.workspace = true +edition.workspace = true +authors.workspace = true +repository.workspace = true + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +nom = { workspace = true } +itertools = {workspace = true } diff --git a/2023/day-12/src/lib.rs b/2023/day-12/src/lib.rs new file mode 100644 index 0000000..3fafe8d --- /dev/null +++ b/2023/day-12/src/lib.rs @@ -0,0 +1,4 @@ +pub mod part1; +pub use crate::part1::*; +pub mod part2; +pub use crate::part2::*; diff --git a/2023/day-12/src/main.rs b/2023/day-12/src/main.rs new file mode 100644 index 0000000..4a7a2a1 --- /dev/null +++ b/2023/day-12/src/main.rs @@ -0,0 +1,12 @@ +#![warn(clippy::all, clippy::pedantic)] + +use day_12::part1; +use day_12::part2; + +fn main() { + let input = include_str!("./input.txt"); + let part1_result = part1(input); + println!("part 1: {part1_result}"); + let part2_result = part2(input); + println!("part 2: {part2_result}"); +} diff --git a/2023/day-12/src/part1.rs b/2023/day-12/src/part1.rs new file mode 100644 index 0000000..a7db908 --- /dev/null +++ b/2023/day-12/src/part1.rs @@ -0,0 +1,20 @@ +#![warn(clippy::all, clippy::pedantic)] + +#[must_use] +pub fn part1 (_input: &str) -> String { + "Not Finished".to_string() +} + +#[cfg(test)] +mod test { + use super::*; + + const INPUT: &str = ""; + + #[test] + fn part1_works() { + let result = part1(INPUT); + assert_eq!(result, "Not Finished".to_string()); + } +} + diff --git a/2023/day-12/src/part2.rs b/2023/day-12/src/part2.rs new file mode 100644 index 0000000..8f15571 --- /dev/null +++ b/2023/day-12/src/part2.rs @@ -0,0 +1,20 @@ +#![warn(clippy::all, clippy::pedantic)] + +#[must_use] +pub fn part2 (_input: &str) -> String { + "Not Finished".to_string() +} + +#[cfg(test)] +mod test { + use super::*; + + const INPUT: &str = ""; + + #[test] + fn part2_works() { + let result = part2(INPUT); + assert_eq!(result, "Not Finished".to_string()); + } +} +