diff --git a/src/day01.rs b/src/day01.rs index 75b1a5f..061df10 100644 --- a/src/day01.rs +++ b/src/day01.rs @@ -5,8 +5,9 @@ use anyhow::{anyhow, Result}; fn part1(data: &[i64]) -> Result { for c in utils::combinations(2, data.len()) { - if data[c[0]] + data[c[1]] == 2020 { - return Ok(data[c[0]] * data[c[1]]); + let test = vec![data[c[0]], data[c[1]]]; + if test.iter().sum::() == 2020 { + return Ok(test.iter().product()); } } Err(anyhow!("no result found")) @@ -14,8 +15,9 @@ fn part1(data: &[i64]) -> Result { fn part2(data: &[i64]) -> Result { for c in utils::combinations(3, data.len()) { - if data[c[0]] + data[c[1]] + data[c[2]] == 2020 { - return Ok(data[c[0]] * data[c[1]] * data[c[2]]); + let test = vec![data[c[0]], data[c[1]], data[c[2]]]; + if test.iter().sum::() == 2020 { + return Ok(test.iter().product()); } } Err(anyhow!("no result found"))