From 0da5993fbf69e7fc515888afd3cf02b01baf386c Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Thu, 2 Dec 2021 12:02:58 +0000 Subject: Day 1 (improvements) --- day1/src/main.rs | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/day1/src/main.rs b/day1/src/main.rs index dd64a15..4db292f 100644 --- a/day1/src/main.rs +++ b/day1/src/main.rs @@ -1,5 +1,15 @@ use std::fs; +fn ex1(sweep: &[u32]) { + let incs = sweep.windows(2).filter(|w| w[0] < w[1]).count(); + println!("Ex1: depth increases {} times.", incs); +} + +fn ex2(sweep: &[u32]) { + let incs = sweep.windows(4).filter(|w| w[0] < w[3]).count(); + println!("Ex2: depth increases {} times.", incs); +} + /* AOC21 Day 1: https://adventofcode.com/2021/day/1 */ fn main() { let input = "resources/input.txt"; @@ -8,14 +18,3 @@ fn main() { ex1(&sweep); ex2(&sweep); } - -fn ex1(sweep: &[u32]) { - let incs = sweep.windows(2).fold(0, |a, w| if w[0] < w[1] { a+1 } else { a }); - println!("Ex1: depth increases {} times.", incs); -} - -fn ex2(sweep: &[u32]) { - let avg3: Vec = sweep.windows(3).map(|w| w[0] + w[1] + w[2]).collect(); - let incs = avg3.windows(2).fold(0, |a, w| if w[0] < w[1] { a+1 } else { a }); - println!("Ex2: depth increases {} times.", incs); -} -- cgit v1.2.3