34 lines
813 B
PHP
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
|