blob: f5a4cb9b29ac330921f1adb403c1cb682c169d71 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
fn solve_part_one(data: &str) -> u32 {
data.split("\n\n")
.collect::<Vec<&str>>()
.iter()
.map(|line| line.split("\n").flat_map(|x| x.parse::<u32>()).sum::<u32>())
.max()
.unwrap()
}
fn solve_part_two(data: &str) -> u32 {
let mut vec = data
.split("\n\n")
.collect::<Vec<&str>>()
.iter()
.map(|line| line.split("\n").flat_map(|x| x.parse::<u32>()).sum::<u32>())
.collect::<Vec<u32>>();
vec.sort_by(|a, b| b.cmp(a));
vec.iter().take(3).sum()
}
fn main() {
let data = include_str!("../data/day1.prod");
println!("{:?}", solve_part_one(data));
println!("{:?}", solve_part_two(data));
}
|