Day 21 cleanup debugging.
This commit is contained in:
parent
97d32e2588
commit
b160a511b3
@ -104,32 +104,11 @@ fn find_non_allergens(foods: &[Food]) -> HashSet<String> {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
// "nhms": {
|
|
||||||
// "dairy": 1,
|
|
||||||
// "fish": 1,
|
|
||||||
// },
|
|
||||||
// "fvjkl": {
|
|
||||||
// "soy": 1,
|
|
||||||
// "dairy": 1,
|
|
||||||
// },
|
|
||||||
|
|
||||||
ingredient_map
|
ingredient_map
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|(_, v)| !v.iter().any(|(a, c)| &allergen_map[a] == c))
|
.filter(|(_, v)| !v.iter().any(|(a, c)| &allergen_map[a] == c))
|
||||||
.map(|(k, _)| k.to_string())
|
.map(|(k, _)| k.to_string())
|
||||||
.collect()
|
.collect()
|
||||||
|
|
||||||
/*
|
|
||||||
dbg!(&allergen_map);
|
|
||||||
dbg!(&ingredient_map);
|
|
||||||
let allergens: HashSet<String> = foods
|
|
||||||
.iter()
|
|
||||||
.map(|f| f.allergens.iter())
|
|
||||||
.flatten()
|
|
||||||
.cloned()
|
|
||||||
.collect();
|
|
||||||
HashSet::new()
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[aoc(day21, part1)]
|
#[aoc(day21, part1)]
|
||||||
@ -162,14 +141,9 @@ fn allergen_ingredients(foods: &[Food], non_allergens: &HashSet<String>) -> Vec<
|
|||||||
});
|
});
|
||||||
println!();
|
println!();
|
||||||
});
|
});
|
||||||
// TODO walk over allergen_only. Find the entries with a single max value, and that's the
|
|
||||||
// allergen/ingredient combo. Then remove that ingredient from all the other entries, and
|
|
||||||
// repeat until nothing is left.
|
|
||||||
dbg!(&allergen_only);
|
|
||||||
let mut answer = HashMap::new();
|
let mut answer = HashMap::new();
|
||||||
let mut limit = 0;
|
let mut limit = 0;
|
||||||
loop {
|
loop {
|
||||||
dbg!(&allergen_only);
|
|
||||||
if allergen_only.is_empty() {
|
if allergen_only.is_empty() {
|
||||||
return answer.into_iter().collect();
|
return answer.into_iter().collect();
|
||||||
};
|
};
|
||||||
@ -204,7 +178,6 @@ fn solution2(foods: &[Food]) -> String {
|
|||||||
let non_allergens = find_non_allergens(foods);
|
let non_allergens = find_non_allergens(foods);
|
||||||
let mut allergens = allergen_ingredients(foods, &non_allergens);
|
let mut allergens = allergen_ingredients(foods, &non_allergens);
|
||||||
allergens.sort_by(|l, r| l.0.cmp(&r.0));
|
allergens.sort_by(|l, r| l.0.cmp(&r.0));
|
||||||
dbg!(&allergens);
|
|
||||||
allergens
|
allergens
|
||||||
.iter()
|
.iter()
|
||||||
.map(|(_, a)| a.as_str())
|
.map(|(_, a)| a.as_str())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user