From 5c17b5a556ab0b816759930bb2c398ce31c27fa8 Mon Sep 17 00:00:00 2001 From: Joscha Date: Thu, 1 Dec 2022 18:18:46 +0100 Subject: [PATCH] [rs] Simplify 2022_01 --- rs/src/d01.rs | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/rs/src/d01.rs b/rs/src/d01.rs index 15bcc37..f5b2d33 100644 --- a/rs/src/d01.rs +++ b/rs/src/d01.rs @@ -1,22 +1,14 @@ pub fn solve(input: String) -> anyhow::Result<()> { - let mut elves = vec![]; - let mut elf = vec![]; - for line in input.lines() { - if let Ok(number) = line.trim().parse::() { - elf.push(number); - } else { - elves.push(elf); - elf = vec![]; - } - } - if !elf.is_empty() { - elves.push(elf); - } - - let mut elves = elves - .into_iter() - .map(|e| e.into_iter().sum()) - .collect::>(); + let mut elves = input + .trim() + .split("\n\n") + .map(|chunk| { + chunk + .split('\n') + .map(|n| n.parse::().unwrap()) + .sum::() + }) + .collect::>(); elves.sort_unstable(); // Part 1