Update stuff
This commit is contained in:
@ -69,7 +69,7 @@ final class Day2 extends Solution
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array<int, array<int, string>>
|
||||
* @return array{string, non-empty-list<string>}
|
||||
*/
|
||||
private function getHand(string $line): array
|
||||
{
|
||||
|
@ -30,6 +30,17 @@ final class Day3 extends Solution
|
||||
$numbers = $this->checkLocation($row, $col);
|
||||
$top = (int) $this->processNumbers($numbers['top'], sum: true);
|
||||
$bottom = (int) $this->processNumbers($numbers['bottom'], sum: true);
|
||||
if ($numbers === []) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (empty($numbers['left'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (empty($numbers['right'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$score += $top + $bottom + max($numbers['left']) + max($numbers['right']);
|
||||
}
|
||||
@ -54,6 +65,18 @@ final class Day3 extends Solution
|
||||
|
||||
$top = (array) $this->processNumbers($numbers['top']);
|
||||
$bottom = (array) $this->processNumbers($numbers['bottom']);
|
||||
if ($numbers === []) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (empty($numbers['left'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (empty($numbers['right'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$left = max($numbers['left']);
|
||||
$right = max($numbers['right']);
|
||||
|
||||
@ -81,7 +104,7 @@ final class Day3 extends Solution
|
||||
if ($numbers[0] !== 0 && $numbers[1] === 0 && $numbers[2] !== 0) {
|
||||
$result[] = $numbers[0];
|
||||
$result[] = $numbers[2];
|
||||
} else {
|
||||
} elseif ($numbers !== []) {
|
||||
$result[] = max($numbers);
|
||||
}
|
||||
|
||||
@ -127,7 +150,7 @@ final class Day3 extends Solution
|
||||
return $numbers;
|
||||
}
|
||||
|
||||
private function getNumber(int $row, int $col, string $direction = null): ?string
|
||||
private function getNumber(int $row, int $col, ?string $direction = null): ?string
|
||||
{
|
||||
$number = $this->matrix[$row][$col] ?? null;
|
||||
|
||||
|
@ -2,7 +2,9 @@
|
||||
|
||||
namespace trizz\AdventOfCode\Y23;
|
||||
|
||||
final class Day5 extends \trizz\AdventOfCode\Solution
|
||||
use trizz\AdventOfCode\Solution;
|
||||
|
||||
final class Day5 extends Solution
|
||||
{
|
||||
public static null|int|string $part1ExampleResult = 35;
|
||||
|
||||
@ -47,6 +49,10 @@ final class Day5 extends \trizz\AdventOfCode\Solution
|
||||
$locations[$seed] = $location;
|
||||
}
|
||||
|
||||
if ($locations === []) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return min($locations);
|
||||
}
|
||||
|
||||
@ -97,7 +103,7 @@ final class Day5 extends \trizz\AdventOfCode\Solution
|
||||
}
|
||||
|
||||
if (!empty($line) && !str_contains($line, ':')) {
|
||||
[$destinationRange, $sourceRangeStart, $rangeLength] = array_values(array_map('intval', explode(' ', $line)));
|
||||
[$destinationRange, $sourceRangeStart, $rangeLength] = array_map('intval', explode(' ', $line));
|
||||
$this->maps[$currentMap][] = [
|
||||
'destinationRange' => $destinationRange,
|
||||
'sourceRangeStart' => $sourceRangeStart,
|
||||
|
Reference in New Issue
Block a user