Day 3, puzzle 2
This commit is contained in:
		
							
								
								
									
										17
									
								
								src/bin/d3p2.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								src/bin/d3p2.rs
									
									
									
									
									
										Normal file
									
								
							@ -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);
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user