Files
advent_of_code_2021/10/part1.php
2021-12-10 20:06:15 +01:00

34 lines
813 B
PHP

<?php
$input = file('input', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$input = array_map('str_split', $input);
$chunkPairs = [
')' => '(',
']' => '[',
'>' => '<',
'}' => '{',
];
$illegalValues = [
')' => 3,
']' => 57,
'}' => 1197,
'>' => 25137,
];
$illegalValue = 0;
foreach ($input as $line) {
$tmpBuffer = [];
foreach ($line as $charPos => $char) {
if (in_array($char, array_values($chunkPairs))) {
$tmpBuffer[] = $char;
}
if (in_array($char, array_keys($chunkPairs))) {
$lastBufferItem = array_pop($tmpBuffer);
if ($chunkPairs[$char] !== $lastBufferItem) {
$illegalValue += $illegalValues[$char];
continue 2;
}
}
}
}
echo $illegalValue; //366027