From a9c7c09d2b9facfa241d999289bca414de49c176 Mon Sep 17 00:00:00 2001 From: Felix Pankratz Date: Thu, 1 Dec 2022 21:11:17 +0100 Subject: [PATCH] rust day 1 part 2 --- 2022/01/02.rs | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100755 2022/01/02.rs diff --git a/2022/01/02.rs b/2022/01/02.rs new file mode 100755 index 0000000..d1d4ee0 --- /dev/null +++ b/2022/01/02.rs @@ -0,0 +1,36 @@ +use std::io; + +fn main() -> io::Result<()> { + // read from stdin + let stdin = io::stdin(); + let lines = stdin.lines(); + + let mut elves = Vec::new(); + let mut c_sum = 0; + for line in lines { + let content = line.unwrap(); + if content.is_empty() { + elves.push(c_sum); + c_sum = 0; + } else { + let new_val = match content.parse::() { + Ok(v) => v, + Err(_e) =>{ println!("Error parsing input"); 0 } + }; + c_sum += new_val; + } + } + + elves.sort(); + elves.reverse(); + let mut result = 0; + if elves.len() > 3 { + for n in 0..3 { + result += elves[n]; + } + println!("{}", result); + } else { + println!("Not enough elves"); + } + Ok(()) +}