@@ 11,8 11,25 @@ fn calc_solution1(input: &Vec<i32>) -> i32 {
panic!("No solution");
}
+fn calc_solution2(input: &Vec<i32>) -> i32 {
+ for i in 0..input.len() {
+ for j in (i + 1)..input.len() {
+ for k in (j + 1)..input.len() {
+ if (input[i] + input[j] + input[k]) == 2020 {
+ return input[i] * input[j] * input[k];
+ }
+ }
+ }
+ }
+ panic!("No solution");
+}
+
pub fn get_solution() {
let contents = fs::read_to_string("data/day01.dat").expect("Could not read data");
let input: Vec<i32> = contents.lines().flat_map(str::parse).collect();
- println!("Day 1, part 1: {}", calc_solution1(&input));
+ println!(
+ "Day 1, part 1: {}, part 2: {}",
+ calc_solution1(&input),
+ calc_solution2(&input)
+ );
}