From ff064b6f13019b15346ff320a486d70b95d80b2a Mon Sep 17 00:00:00 2001 From: Guillermo Ramos Date: Fri, 6 Dec 2024 15:59:32 +0100 Subject: Each day is now a binary --- 2024_rust/src/day1.rs | 45 --------------------------------------------- 1 file changed, 45 deletions(-) delete mode 100644 2024_rust/src/day1.rs (limited to '2024_rust/src/day1.rs') diff --git a/2024_rust/src/day1.rs b/2024_rust/src/day1.rs deleted file mode 100644 index 0b6c13d..0000000 --- a/2024_rust/src/day1.rs +++ /dev/null @@ -1,45 +0,0 @@ -pub fn p1(input: &str) -> String { - let mut left: Vec = vec![]; - let mut right: Vec = vec![]; - for line in input.lines() { - let mut fields = line.split_whitespace(); - let e = "Wrong file format"; - left.push(fields.next().expect(e).parse().expect(e)); - right.push(fields.next().expect(e).parse().expect(e)); - } - left.sort_unstable(); - right.sort_unstable(); - - let mut distance: u32 = 0; - for i in 0..left.len() { - let l = left[i]; - let r = right[i]; - distance += if l >= r { l - r } else { r - l }; - } - - distance.to_string() -} - -use std::collections::HashMap; - -pub fn p2(input: &str) -> String { - let mut left: Vec = vec![]; - let mut right: HashMap = HashMap::new(); - for line in input.lines() { - let mut fields = line.split_whitespace(); - let e = "Wrong file format"; - left.push(fields.next().expect(e).parse().expect(e)); - let r: u32 = fields.next().expect(e).parse().expect(e); - match right.get(&r) { - None => right.insert(r, 1), - Some(v) => right.insert(r, v + 1), - }; - } - - let mut distance: u32 = 0; - for l in left { - distance += l * right.get(&l).unwrap_or(&0); - } - - distance.to_string() -} -- cgit v1.2.3