From 8089545c22b1ae4a98e967f070c3e298e6808961 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Wed, 6 Dec 2023 01:45:05 +0100 Subject: Initial commit --- src/day4pt1.rs | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/day4pt1.rs (limited to 'src/day4pt1.rs') diff --git a/src/day4pt1.rs b/src/day4pt1.rs new file mode 100644 index 0000000..5a622a8 --- /dev/null +++ b/src/day4pt1.rs @@ -0,0 +1,45 @@ +pub fn main() { + let txt = std::fs::read_to_string("./input/day4.txt").unwrap(); + let mut sum: u32 = 0; + for line in txt.lines() { + let mut cnt: u32 = 0; + + let mut br1 = vec![]; + let mut br2 = vec![]; + + let sec_pt = line + .split(": ") + .collect::>() + .get(1) + .unwrap() + .split(" | ") + .collect::>(); + for i in sec_pt.get(0).unwrap().split(r" ") { + if i == "" { + continue; + } + br1.push(i.parse::().unwrap()); + } + + for i in sec_pt.get(1).unwrap().split(r" ") { + if i == "" { + continue; + } + br2.push(i.parse::().unwrap()); + } + + for i in &br1 { + for j in &br2 { + if i == j { + cnt += 1; + } + } + } + + if cnt > 0 { + sum += 2u32.pow(cnt - 1); + } + } + + println!("{}", sum); +} -- cgit v1.2.3