From 3ab5c7926d28aad06732c8690bb1bf4ea7a86820 Mon Sep 17 00:00:00 2001 From: Stephen Waits Date: Wed, 2 Dec 2020 22:28:38 -0800 Subject: [PATCH] minor cleanup on day1, use Iterator::sum/product --- src/day01.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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"))