day03: Make it solve part 2 instead
This commit is contained in:
		
							parent
							
								
									55038c87da
								
							
						
					
					
						commit
						6dfb583345
					
				|  | @ -15,13 +15,19 @@ fn main() -> Result<(), Box<dyn error::Error>> { | |||
| 	let reader = BufReader::new(f); | ||||
| 
 | ||||
| 	let mut sum: u32 = 0; | ||||
| 	let mut group_items: HashSet<u32> = HashSet::new(); | ||||
| 
 | ||||
| 	for line in reader.lines() { | ||||
| 	for (i, line) in reader.lines().enumerate() { | ||||
| 		let line = line?; | ||||
| 		let (c1, c2) = line.split_at(line.len() / 2); | ||||
| 		let c1_set = set_from_str(c1); | ||||
| 		let c2_set = set_from_str(c2); | ||||
| 		sum += c1_set.intersection(&c2_set).sum::<u32>(); | ||||
| 		if group_items.is_empty() { | ||||
| 			group_items = set_from_str(line.as_str()); | ||||
| 		} else { | ||||
| 			group_items = set_from_str(line.as_str()).intersection(&group_items).cloned().collect(); | ||||
| 		} | ||||
| 		if (i + 1) % 3 == 0 { | ||||
| 			sum += group_items.iter().next().unwrap(); | ||||
| 			group_items.drain(); | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	println!("{}", sum); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue