diff --git a/src/day4/mod.rs b/src/day4/mod.rs new file mode 100644 index 0000000..456746c --- /dev/null +++ b/src/day4/mod.rs @@ -0,0 +1,26 @@ +use super::utils::Part; + +struct Card { + nb_winning: u32 +} + +pub fn parse(line: &str) -> Card { + let (_, values) = line.split_once(':').unwrap(); + let (winning, numbers) = values.split_once('|').unwrap(); + + todo!() +} + +pub fn solve(lines: Vec, part: Part) -> u32 { + + + todo!() +} + +#[cfg(test)] +mod tests { + #[test] + fn test_line() { + let line = "Card 1: 41 48 83 86 17 | 83 86 6 31 17 9 48 53".to_owned(); + } +} \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 7e276a0..80412d7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,7 +3,9 @@ mod day1; mod day2; mod day3; +mod day4; mod utils; +use log::info; use utils::Part; @@ -14,6 +16,10 @@ fn main() { .filter_level(log::LevelFilter::Debug) .format_timestamp(None) .init(); + + let data_path = "./datasets/adventofcode.com_2023_day_4_input.txt"; + let result = day4::solve(utils::lines_from_file(data_path).expect("Could not load the dataset for day 3"), Part::One); + info!("Result : {}", result); }