From 6860b6e83f2c6be5e59253105cf397c5b27b1590 Mon Sep 17 00:00:00 2001 From: DJ O'Leary Date: Mon, 3 Mar 2025 01:14:16 +0100 Subject: feat: Move 2024 php files --- 2024/OCaml/lib/day_04/php/part_01.php | 94 ----------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 2024/OCaml/lib/day_04/php/part_01.php (limited to '2024/OCaml/lib/day_04/php/part_01.php') diff --git a/2024/OCaml/lib/day_04/php/part_01.php b/2024/OCaml/lib/day_04/php/part_01.php deleted file mode 100644 index 250da0c..0000000 --- a/2024/OCaml/lib/day_04/php/part_01.php +++ /dev/null @@ -1,94 +0,0 @@ - require "{$className}.php"); - -// Assumes executed from workspace root -$input = new Input('input/day_04.txt'); -if ($input->contents === "") { - throw new RuntimeException("File not found"); -} - -$grid = $input->toGrid(); - -$matchCount = 0; -foreach ($grid->data as $y => $row) { - foreach ($row as $x => $char) { - if ($char !== 'X') { - continue; - } - - $start = new Position($x, $y); - - $possibleMatches = []; - - $possibleMatches["north"] = $grid->getStringFromPositions([ - $start, - $start->getNorth(), - $start->getNorth()->getNorth(), - $start->getNorth()->getNorth()->getNorth(), - ]); - - $possibleMatches["east"] = $grid->getStringFromPositions([ - $start, - $start->getEast(), - $start->getEast()->getEast(), - $start->getEast()->getEast()->getEast(), - ]); - - $possibleMatches["south"] = $grid->getStringFromPositions([ - $start, - $start->getSouth(), - $start->getSouth()->getSouth(), - $start->getSouth()->getSouth()->getSouth(), - ]); - - $possibleMatches["west"] = $grid->getStringFromPositions([ - $start, - $start->getWest(), - $start->getWest()->getWest(), - $start->getWest()->getWest()->getWest(), - ]); - - $possibleMatches["north-east"] = $grid->getStringFromPositions([ - $start, - $start->getNorthEast(), - $start->getNorthEast()->getNorthEast(), - $start->getNorthEast()->getNorthEast()->getNorthEast(), - ]); - - $possibleMatches["north-west"] = $grid->getStringFromPositions([ - $start, - $start->getNorthWest(), - $start->getNorthWest()->getNorthWest(), - $start->getNorthWest()->getNorthWest()->getNorthWest(), - ]); - - $possibleMatches["south-east"] = $grid->getStringFromPositions([ - $start, - $start->getSouthEast(), - $start->getSouthEast()->getSouthEast(), - $start->getSouthEast()->getSouthEast()->getSouthEast(), - ]); - - $possibleMatches["south-west"] = $grid->getStringFromPositions([ - $start, - $start->getSouthWest(), - $start->getSouthWest()->getSouthWest(), - $start->getSouthWest()->getSouthWest()->getSouthWest(), - ]); - - $matchCount += array_reduce( - array: $possibleMatches, - callback: fn(int $acc, string $possibleMatch): int => match ($possibleMatch) { - "XMAS" => $acc + 1, - default => $acc, - }, - initial: 0, - ); - } -} - -// ANSWER: 2517 -echo $matchCount; -- cgit v1.2.3