From db833507efb91316918e9f8347ff1df7b1187222 Mon Sep 17 00:00:00 2001 From: Aadi Desai <21363892+supleed2@users.noreply.github.com> Date: Sat, 23 Dec 2023 00:30:07 +0000 Subject: [PATCH] Improve Day 22 Task 1 --- src/cal/day22.rs | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/cal/day22.rs b/src/cal/day22.rs index 4d37f12..4ace3ce 100644 --- a/src/cal/day22.rs +++ b/src/cal/day22.rs @@ -7,17 +7,11 @@ pub(crate) fn router() -> Router { } async fn integers(nums: String) -> Result { - let mut nums = nums - .lines() - .map(|s| s.parse::().expect("All lines should be valid u64s")) - .collect::>(); - nums.sort_unstable(); - for i in (0..nums.len()).step_by(2) { - if i == (nums.len() - 1) || nums[i] != nums[i + 1] { - return Ok("🎁".repeat(nums[i] as usize)); - } - } - Err(StatusCode::BAD_REQUEST) + nums.lines() + .map(|s| s.parse::()) + .try_fold(0u64, |acc, n| n.map(|n| acc ^ n)) + .map(|n| "🎁".repeat(n as usize)) + .map_err(|_| StatusCode::BAD_REQUEST) } async fn rocket(input: String) -> Result {