2022 day3/rust: use tuple instead of struct

This commit is contained in:
Xiretza 2022-12-04 09:59:33 +01:00
parent be02406c0f
commit 8b15158631

View file

@ -50,11 +50,6 @@ impl BitAnd for ItemSet {
}
}
struct Rucksack {
left: ItemSet,
right: ItemSet,
}
fn main() {
let mut data = String::new();
stdin().read_to_string(&mut data).unwrap();
@ -65,16 +60,16 @@ fn main() {
let (left, right) = line.split_at(line.len() / 2);
assert_eq!(left.len(), right.len());
let left = left.chars().collect();
let right = right.chars().collect();
let left: ItemSet = left.chars().collect();
let right: ItemSet = right.chars().collect();
Rucksack { left, right }
(left, right)
})
.collect();
let sum1: u32 = sacks
.iter()
.map(|sack| (sack.left & sack.right).priority_of_single_item().unwrap())
.map(|&(left, right)| (left & right).priority_of_single_item().unwrap())
.sum();
let sum2: u32 = sacks
@ -83,7 +78,7 @@ fn main() {
.map(|sacks| {
sacks
.iter()
.map(|sack| sack.left | sack.right)
.map(|&(left, right)| left | right)
.reduce(BitAnd::bitand)
.unwrap()
.priority_of_single_item()