From cad101cf5441b61ca1836d21ca59816b7b319a1d Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 4 Dec 2022 17:14:45 -0500 Subject: [PATCH] format format format --- 2022/src/day_3.rs | 36 ++++++++++++++++++++---------- 2022/src/day_4.rs | 57 +++++++++++++++++++++++++---------------------- 2 files changed, 54 insertions(+), 39 deletions(-) diff --git a/2022/src/day_3.rs b/2022/src/day_3.rs index 8ea5d7c..12fc8a9 100644 --- a/2022/src/day_3.rs +++ b/2022/src/day_3.rs @@ -13,20 +13,32 @@ advent_of_code_macro::solve_problem!( input.lines().map(str::to_owned).collect() }, part one |data: Input| { - data.iter().map(|s| { - use std::collections::HashSet; - let (left, right) = s.split_at(s.len() / 2); - let right_set: HashSet = right.chars().collect(); - get_priority(left.chars().find(|c| right_set.contains(c)).unwrap()) - }).sum() + data.iter() + .map(|s| { + use std::collections::HashSet; + let (left, right) = s.split_at(s.len() / 2); + let right_set: HashSet = right.chars().collect(); + get_priority( + left.chars() + .find(|c| right_set.contains(c)) + .unwrap(), + ) + }).sum() }, part two |data: Input| { - data.as_slice().chunks(3).map(|c| { - use std::collections::HashSet; - let second_set: HashSet = c[1].chars().collect(); - let third_set: HashSet = c[2].chars().collect(); - get_priority(c[0].chars().find(|c| second_set.contains(c) && third_set.contains(c)).unwrap()) - }).sum() + data.as_slice() + .chunks(3) + .map(|c| { + use std::collections::HashSet; + let second_set: HashSet = c[1].chars().collect(); + let third_set: HashSet = c[2].chars().collect(); + get_priority( + c[0].chars() + .find(|c| second_set.contains(c) && third_set.contains(c)) + .unwrap(), + ) + }) + .sum() }, sample tests [157, 70], star tests [7908, 2838] diff --git a/2022/src/day_4.rs b/2022/src/day_4.rs index 3bdcc67..b93b338 100644 --- a/2022/src/day_4.rs +++ b/2022/src/day_4.rs @@ -2,37 +2,40 @@ advent_of_code_macro::solve_problem!( day 4, Input Vec>, parse |input: &str| { - input.lines().map(|line| { - let (a, rest) = line.split_once('-').unwrap(); - let (b, rest) = rest.split_once(',').unwrap(); - let (c, d) = rest.split_once('-').unwrap(); - [a, b, c, d].into_iter() - .map(str::parse) - .map(Result::unwrap) - .collect() - }).collect() + input.lines() + .map(|line| { + let (a, rest) = line.split_once('-').unwrap(); + let (b, rest) = rest.split_once(',').unwrap(); + let (c, d) = rest.split_once('-').unwrap(); + [a, b, c, d].into_iter() + .map(str::parse) + .map(Result::unwrap) + .collect() + }).collect() }, part one |data: Input| { - data.into_iter().fold(0, |acc, curr| - if (curr[0] <= curr[2] && curr[1] >= curr[3]) - || (curr[2] <= curr[0] && curr[3] >= curr[1]) { - acc + 1 - } else { - acc - } - ) + data.into_iter() + .fold(0, |acc, curr| + if (curr[0] <= curr[2] && curr[1] >= curr[3]) + || (curr[2] <= curr[0] && curr[3] >= curr[1]) { + acc + 1 + } else { + acc + } + ) }, part two |data: Input| { - data.into_iter().fold(0, |acc, curr| - if (curr[0] >= curr[2] && curr[0] <= curr[3]) - || (curr[1] >= curr[2] && curr[1] <= curr[3]) - || (curr[2] >= curr[0] && curr[2] <= curr[1]) - || (curr[3] >= curr[0] && curr[3] <= curr[1]) { - acc + 1 - } else { - acc - } - ) + data.into_iter() + .fold(0, |acc, curr| + if (curr[0] >= curr[2] && curr[0] <= curr[3]) + || (curr[1] >= curr[2] && curr[1] <= curr[3]) + || (curr[2] >= curr[0] && curr[2] <= curr[1]) + || (curr[3] >= curr[0] && curr[3] <= curr[1]) { + acc + 1 + } else { + acc + } + ) }, sample tests [2, 4], star tests [450, 837]