From: alex Date: Sat, 2 Dec 2023 08:14:16 +0000 (+0100) Subject: Toilettage X-Git-Url: https://aoc.elinar.fr/?a=commitdiff_plain;h=e5e0d2947658c47ed7f2b912fb5feb1fc622d619;p=aoc_2023 Toilettage --- diff --git a/src/day02.rs b/src/day02.rs index 3223c6a..77da53a 100644 --- a/src/day02.rs +++ b/src/day02.rs @@ -54,25 +54,26 @@ fn run_part1(input: &str) -> Result> { // est inférieur/supérieur à la limite définie // vecteur de 3 éléments [ bool_red, bool_green, bool_blue ] let mut res_draw: Vec = Vec::new(); + + // extraction du nombre de cubes pour chaque couleur + // vérification de ce nombre avec la limite + // stockage "true" si le tirage est correct ("false" sinon) regex.iter().zip(limits) // (re, limit) .for_each(|(re, l)| { let caps = re.captures(draw); - //println!("caps: {:?}", caps); if caps.is_some() { let n = caps.unwrap().get(1); if n.is_some() { let n: i32 = n.unwrap().as_str().parse().unwrap(); - //println!("{l}: {n}"); res_draw.push( n <= l ); return; } } res_draw.push(true); }); - //println!("collect foreach draw: {:?}", res_draw); result.push( ! res_draw.contains(&false) ); }); - //println!("result per game {:?}", result); + // on ne conserve que les parties dont tous les tirages sont corrects !result.contains(&false) }) .collect(); @@ -105,7 +106,7 @@ fn run_part2(input: &str) -> Result> { let mut max = [ 0, 0, 0 ]; l.split(';') .for_each(|draw| { - regex.iter().enumerate() // (re, limit) + regex.iter().enumerate() .for_each(|(i, re)| { let caps = re.captures(draw); if caps.is_some() {