diff options
Diffstat (limited to '2022/rust/day01/src')
-rw-r--r-- | 2022/rust/day01/src/main.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/2022/rust/day01/src/main.rs b/2022/rust/day01/src/main.rs new file mode 100644 index 0000000..d8a6b9c --- /dev/null +++ b/2022/rust/day01/src/main.rs @@ -0,0 +1,14 @@ +use std::env; +use std::fs; + +fn main() { + let args = env::args().nth(1).unwrap(); + let mut input = fs::read_to_string(args).unwrap().trim().split("\n\n").map(|x| x.trim().split("\n") + .map(|x| x.parse::<i32>().unwrap()).collect()).collect::<Vec<Vec<i32>>>().iter() + .map(|x| x.iter().fold(0, |x,y| x + y)).collect::<Vec<i32>>(); + // println!("{:?}", input); + println!("{}", input.iter().fold(0, |x,y| x.max(*y))); + + input.sort_by(|x,y| y.cmp(x)); + println!("{}", input[0] + input[1] + input[2]); +} |