From 1aeeaa780e727e467443d6c821947413566b5b51 Mon Sep 17 00:00:00 2001 From: David Ashby Date: Thu, 4 Dec 2025 22:23:26 -0500 Subject: [PATCH] split out helper method --- src/Day04.java | 48 ++++++++++++++++++++++-------------------------- 1 file changed, 22 insertions(+), 26 deletions(-) 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)); + } }