From 879c2c411c63dae7d8f932856ab169283c3e88cf Mon Sep 17 00:00:00 2001 From: jazzpi Date: Tue, 13 Dec 2022 14:56:46 +0100 Subject: [PATCH] Day 3, puzzle 2 --- src/bin/d3p2.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/bin/d3p2.rs diff --git a/src/bin/d3p2.rs b/src/bin/d3p2.rs new file mode 100644 index 0000000..5722fa7 --- /dev/null +++ b/src/bin/d3p2.rs @@ -0,0 +1,17 @@ +use aoc22::day3; +use aoc22::util; + +pub fn main() { + let rucksacks = day3::parse_rucksacks(&util::parse_input()); + + let mut sum = 0; + for group in rucksacks.chunks_exact(3) { + // Intersection of the unions of each rucksack's compartments + let common = &(&(&group[0].0 | &group[0].1) & &(&group[1].0 | &group[1].1)) + & &(&group[2].0 | &group[2].1); + assert!(common.len() == 1); + sum += day3::priority(*common.iter().next().unwrap()); + } + + println!("Sum of priorities is {}", sum); +}