From bf04d9159054f4de37d6957f6cd97bb92e7dbc3f Mon Sep 17 00:00:00 2001 From: Jason Date: Sun, 7 Dec 2025 02:38:34 -0600 Subject: [PATCH] Started day 3 --- src/day3/mod.rs | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ src/main.rs | 1 + 2 files changed, 51 insertions(+) create mode 100644 src/day3/mod.rs diff --git a/src/day3/mod.rs b/src/day3/mod.rs new file mode 100644 index 0000000..55b1ba4 --- /dev/null +++ b/src/day3/mod.rs @@ -0,0 +1,50 @@ +use std::{fs::File, io::Read}; + +fn read_file(file: &str) -> String { + let mut directory = "/home/jason/Programming/Rust/aoc2025/src/day3/".to_owned(); + directory.push_str(file); + let mut handle = File::open(directory).unwrap(); + let mut file = String::new(); + handle.read_to_string(&mut file).unwrap(); + file +} + +pub fn part_1(file: &str) -> u64{ + let data = read_file(file); + + let mut batteries: Vec> = Vec::new(); + + for row in data.lines() { + let mut rowvec = Vec::new(); + for c in row.chars() { + rowvec.push(c.to_digit(10).unwrap() as u8); + } + batteries.push(rowvec); + } + + for bank in batteries { + let mut first_digit = 0; + let mut second_digit = 0; + let mut bank_iter = bank.iter().peekable(); + + loop { + let current = bank_iter.next().unwrap(); + let next = bank_iter.peek(); + match next { + Some(_) => {}, + None => {}, + } + } + } + 0 +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn day_three_part_1() { + assert_eq!(part_1("test.txt"), 357); + } +} \ No newline at end of file diff --git a/src/main.rs b/src/main.rs index 2fe2565..0fb36ef 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,4 @@ +mod day3; mod day6; mod day7;