diff --git a/src/bin/day2.rs b/src/bin/day2.rs index 82d1af7..d7802b5 100644 --- a/src/bin/day2.rs +++ b/src/bin/day2.rs @@ -27,16 +27,9 @@ fn main() -> Result<(), Box> { println!("Answer1: {}", pos.0 * pos.1); - let mut aim = 0; - let mut pos = (0, 0); - for m in moves.iter() { - aim = aim + m.1; - println!("{} {}", m.0, m.1); - - pos = (pos.0 + m.0, pos.1 + m.0 * aim); - println!("{} {}", pos.0, pos.1); - - } + let pos = moves.iter().fold((0, 0, 0), |(x, y, aim), (mx, maim)| { + (x + mx, y + mx * (maim + aim), aim + maim) + }); println!("Answer2: {}", pos.0 * pos.1);