diff --git a/aoc2023/src/day10.rs b/aoc2023/src/day10.rs index 5f92dd4..afa65a1 100644 --- a/aoc2023/src/day10.rs +++ b/aoc2023/src/day10.rs @@ -52,12 +52,13 @@ impl Solution for Day10 { let mut total = 0; for (i, line) in grid.iter().enumerate() { - let mut parity = 0; + let mut parity = false; for (j, letter) in line.iter().enumerate() { if in_loop.contains(&(i, j)) { - parity += modify_parity(letter) + if ['|', 'J', 'L'].contains(letter) { parity = !parity } + continue } - else if parity % 4 != 0 { + else if parity { total += 1 } } @@ -105,14 +106,3 @@ fn replace_animal(grid: &mut Vec>, pos: &(usize, usize)) { _ => unreachable!() } } - -fn modify_parity(l: &char) -> i32 { - match l { - '|' => 2, - 'L' => 1, - 'J' => -1, - 'F' => -1, - '7' => 1, - _ => 0 - } -}