From: alex <> Date: Mon, 8 Dec 2025 08:44:30 +0000 (+0100) Subject: day07: refactoring X-Git-Url: https://aoc.elinar.fr/?a=commitdiff_plain;h=68acb2b6c80f16e0b2fa5e517ade9a81f3155b56;p=aoc_2025 day07: refactoring --- diff --git a/src/day07.rs b/src/day07.rs index 6c48630..7946d4a 100644 --- a/src/day07.rs +++ b/src/day07.rs @@ -27,8 +27,7 @@ impl Puzzle { let mut beam: Vec<(usize, usize)> = Vec::new(); beam.push((self.start.0 + 1, self.start.1)); while let Some(pos) = beam.pop() { - if self.map.contains_key(&pos) { - let location = self.map.get_mut(&pos).unwrap(); + if let Some(location) = self.map.get_mut(&pos) { if location.1 { continue; } @@ -73,10 +72,8 @@ impl Puzzle { beams_pos.iter() .for_each(|pos| { let timeline = *beams_timelines.get(pos).unwrap(); - let next_pos = (pos.0 + 1, pos.1); - if self.map.contains_key(&next_pos) { - let next_char = self.map.get_mut(&next_pos).unwrap().0; // it exists - let next_pos = match next_char { + if let Some(next) = self.map.get_mut(&(pos.0 + 1, pos.1)) { + let next_pos = match next.0 { '.' => vec![(pos.0 + 1, pos.1)], '^' => vec![(pos.0 + 1, pos.1 - 1), (pos.0 + 1, pos.1 + 1)], _ => unreachable!(),