From 6a546188808c34ecff614be24b76b35f4126a43d Mon Sep 17 00:00:00 2001 From: uku Date: Sun, 8 Dec 2024 14:46:37 +0100 Subject: [PATCH] chore: use into for answers --- src/solutions/day_01.rs | 16 ++++++---------- src/solutions/day_02.rs | 14 ++++++-------- src/solutions/day_03.rs | 8 +++----- src/solutions/day_04.rs | 6 ++---- src/solutions/day_05.rs | 14 ++++++-------- src/solutions/day_06.rs | 9 ++++----- src/solutions/day_07.rs | 14 ++++++-------- 7 files changed, 33 insertions(+), 48 deletions(-) diff --git a/src/solutions/day_01.rs b/src/solutions/day_01.rs index 0f1ae7a..236c477 100644 --- a/src/solutions/day_01.rs +++ b/src/solutions/day_01.rs @@ -19,13 +19,11 @@ impl Solution for Day01 { left.sort(); right.sort(); - let sum: i32 = left - .into_iter() + left.into_iter() .zip(right) .map(|(a, b)| (a - b).abs()) - .sum(); - - Answer::Number(sum as u64) + .sum::() + .into() } fn part_b(&self, input: &str) -> Answer { @@ -37,12 +35,10 @@ impl Solution for Day01 { let counts = right.into_iter().counts(); - let sum = left - .into_iter() + left.into_iter() .map(|n| counts.get(&n).unwrap_or(&0) * (n as usize)) - .sum::(); - - Answer::Number(sum as u64) + .sum::() + .into() } } diff --git a/src/solutions/day_02.rs b/src/solutions/day_02.rs index 12e0415..4a7cb9c 100644 --- a/src/solutions/day_02.rs +++ b/src/solutions/day_02.rs @@ -10,20 +10,19 @@ impl Solution for Day02 { } fn part_a(&self, input: &str) -> Answer { - let reports = input + input .lines() .filter(|l| { let nums = l.split_whitespace().map(|n| n.parse::().unwrap()); is_valid(&nums) }) - .count(); - - Answer::Number(reports as u64) + .count() + .into() } fn part_b(&self, input: &str) -> Answer { - let reports = input + input .lines() .filter(|l| { let nums = l.split_whitespace().map(|n| n.parse::().unwrap()); @@ -45,9 +44,8 @@ impl Solution for Day02 { valid }) - .count(); - - Answer::Number(reports as u64) + .count() + .into() } } diff --git a/src/solutions/day_03.rs b/src/solutions/day_03.rs index 8656418..f3f4189 100644 --- a/src/solutions/day_03.rs +++ b/src/solutions/day_03.rs @@ -13,13 +13,11 @@ impl Solution for Day03 { fn part_a(&self, input: &str) -> Answer { let re = Regex::new(r"mul\((\d+),(\d+)\)").unwrap(); - let sum = re - .captures_iter(input) + re.captures_iter(input) .map(|c| c.extract()) .map(|(_, [a, b])| a.parse::().unwrap() * b.parse::().unwrap()) - .sum::(); - - Answer::Number(sum) + .sum::() + .into() } fn part_b(&self, input: &str) -> Answer { diff --git a/src/solutions/day_04.rs b/src/solutions/day_04.rs index 37cd359..59b056b 100644 --- a/src/solutions/day_04.rs +++ b/src/solutions/day_04.rs @@ -17,9 +17,7 @@ impl Solution for Day04 { .map(xmas_count) .sum::(); - let sum = horizontal + vertical + diag_45 + diag_135; - - Answer::Number(sum as u64) + (horizontal + vertical + diag_45 + diag_135).into() } fn part_b(&self, input: &str) -> Answer { @@ -32,7 +30,7 @@ impl Solution for Day04 { + cross_mas_count(&input_180) + cross_mas_count(&input_270); - Answer::Number(sum as u64) + sum.into() } } diff --git a/src/solutions/day_05.rs b/src/solutions/day_05.rs index 711574a..bb65f61 100644 --- a/src/solutions/day_05.rs +++ b/src/solutions/day_05.rs @@ -21,7 +21,7 @@ impl Solution for Day05 { .into_grouping_map() .collect::>(); - let sum = input + input .lines() .map(|l| { l.split(",") @@ -33,9 +33,8 @@ impl Solution for Day05 { let middle = (nums.len() - 1) / 2; nums[middle] }) - .sum::(); - - Answer::Number(sum) + .sum::() + .into() } fn part_b(&self, input: &str) -> Answer { @@ -48,7 +47,7 @@ impl Solution for Day05 { .into_grouping_map() .collect::>(); - let sum = input + input .lines() .map(|l| { l.split(",") @@ -83,9 +82,8 @@ impl Solution for Day05 { let middle = (nums.len() - 1) / 2; nums[middle] }) - .sum::(); - - Answer::Number(sum) + .sum::() + .into() } } diff --git a/src/solutions/day_06.rs b/src/solutions/day_06.rs index 978dc53..f3cc541 100644 --- a/src/solutions/day_06.rs +++ b/src/solutions/day_06.rs @@ -27,7 +27,7 @@ impl Solution for Day06 { direction: Direction::Up, }; - Answer::Number(get_positions(&grid, guard).len() as u64) + get_positions(&grid, guard).len().into() } fn part_b(&self, input: &str) -> Answer { @@ -48,7 +48,7 @@ impl Solution for Day06 { direction: Direction::Up, }; - let count = get_positions(&grid, guard) + get_positions(&grid, guard) .iter() .filter(|&&coords| { let tmp_guard = Guard { @@ -58,9 +58,8 @@ impl Solution for Day06 { is_infinite_loop(&grid, tmp_guard, coords) }) - .count(); - - Answer::Number(count as u64) + .count() + .into() } } diff --git a/src/solutions/day_07.rs b/src/solutions/day_07.rs index b0da0fc..ca1eeaf 100644 --- a/src/solutions/day_07.rs +++ b/src/solutions/day_07.rs @@ -8,7 +8,7 @@ impl Solution for Day07 { } fn part_a(&self, input: &str) -> Answer { - let sum = input + input .lines() .map(|l| l.split_once(": ").unwrap()) .map(|(a, b)| { @@ -38,13 +38,12 @@ impl Solution for Day07 { None }) - .sum::(); - - Answer::Number(sum) + .sum::() + .into() } fn part_b(&self, input: &str) -> Answer { - let sum = input + input .lines() .map(|l| l.split_once(": ").unwrap()) .map(|(a, b)| { @@ -74,9 +73,8 @@ impl Solution for Day07 { None }) - .sum::(); - - Answer::Number(sum) + .sum::() + .into() } }