✨ Finit les part 1 du jour 2 et 3
Ouin, pas le temps de faire les part 2 😭
This commit is contained in:
parent
7c9d8ae1bd
commit
77cfb5eba7
52
day_2/part_1.php
Normal file
52
day_2/part_1.php
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$reports = array_filter(explode("\n", file_get_contents(__DIR__.'/input.txt')), static fn($line) =>!empty($line));
|
||||||
|
|
||||||
|
$number_of_safe_reports = 0;
|
||||||
|
function is_report_safe(string $report)
|
||||||
|
{
|
||||||
|
$levels = explode(' ', $report);
|
||||||
|
$current_number = null;
|
||||||
|
$current_way = null;
|
||||||
|
foreach ($levels as $level) {
|
||||||
|
if ($current_number === null) {
|
||||||
|
$current_number = $level;
|
||||||
|
} else {
|
||||||
|
if ($current_number === $level) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($current_number > $level) {
|
||||||
|
if ($current_number - $level > 3) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($current_way === null) {
|
||||||
|
$current_way = 'd';
|
||||||
|
} elseif ($current_way !== 'd') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($current_number < $level) {
|
||||||
|
if ($level - $current_number > 3) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($current_way === null) {
|
||||||
|
$current_way = 'a';
|
||||||
|
} elseif ($current_way !== 'a') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$current_number = $level;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($reports as $report) {
|
||||||
|
if (is_report_safe($report)) {
|
||||||
|
$number_of_safe_reports++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
echo sprintf('Number of safe reports : %u', $number_of_safe_reports);
|
||||||
|
exit;
|
8
day_3/part_1.php
Normal file
8
day_3/part_1.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$instruction = file_get_contents(__DIR__.'/input.txt');
|
||||||
|
|
||||||
|
preg_match_all('/mul\((\d+),(\d+)\)/', $instruction, $muls, PREG_SET_ORDER);
|
||||||
|
|
||||||
|
echo array_sum(array_map(static fn($mul) => $mul[1]*$mul[2], $muls));
|
||||||
|
exit;
|
Loading…
Reference in New Issue
Block a user