rust day 1 part 2
parent
475c8a02a3
commit
a9c7c09d2b
@ -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::<i32>() {
|
||||
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(())
|
||||
}
|
Loading…
Reference in New Issue