diff --git a/src/Day04.java b/src/Day04.java index af80257..092f9e9 100644 --- a/src/Day04.java +++ b/src/Day04.java @@ -51,19 +51,11 @@ public class Day04 { int x = Integer.parseInt(coords[0]); int y = Integer.parseInt(coords[1]); neighbors = 0; - List.of( - "%s-%s".formatted(x - 1, y), - "%s-%s".formatted(x + 1, y), - "%s-%s".formatted(x, y - 1), - "%s-%s".formatted(x, y + 1), - "%s-%s".formatted(x + 1, y - 1), - "%s-%s".formatted(x - 1, y - 1), - "%s-%s".formatted(x + 1, y + 1), - "%s-%s".formatted(x - 1, y + 1)).forEach((coord) -> { - if (floor.getOrDefault(coord, false)) { - neighbors += 1; - } - }); + generateNeighborKeys(x, y).forEach((coord) -> { + if (floor.getOrDefault(coord, false)) { + neighbors += 1; + } + }); if (neighbors < 4) { score += 1; } @@ -103,19 +95,11 @@ public class Day04 { int x = Integer.parseInt(coords[0]); int y = Integer.parseInt(coords[1]); neighbors = 0; - List.of( - "%s-%s".formatted(x - 1, y), - "%s-%s".formatted(x + 1, y), - "%s-%s".formatted(x, y - 1), - "%s-%s".formatted(x, y + 1), - "%s-%s".formatted(x + 1, y - 1), - "%s-%s".formatted(x - 1, y - 1), - "%s-%s".formatted(x + 1, y + 1), - "%s-%s".formatted(x - 1, y + 1)).forEach((coord) -> { - if (floor.getOrDefault(coord, false)) { - neighbors += 1; - } - }); + generateNeighborKeys(x, y).forEach((coord) -> { + if (floor.getOrDefault(coord, false)) { + neighbors += 1; + } + }); if (neighbors < 4) { round += 1; newFloor.put(key, false); @@ -135,4 +119,16 @@ public class Day04 { IO.println(e.getMessage()); } } + + private static List generateNeighborKeys(int x, int y) { + return List.of( + "%s-%s".formatted(x - 1, y), + "%s-%s".formatted(x + 1, y), + "%s-%s".formatted(x, y - 1), + "%s-%s".formatted(x, y + 1), + "%s-%s".formatted(x + 1, y - 1), + "%s-%s".formatted(x - 1, y - 1), + "%s-%s".formatted(x + 1, y + 1), + "%s-%s".formatted(x - 1, y + 1)); + } }