✨ Add day 8
This commit is contained in:
25
day_8/part_1.php
Normal file
25
day_8/part_1.php
Normal file
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
$input = file_get_contents('input.txt');
|
||||
|
||||
const WIDTH = 25;
|
||||
const HEIGHT = 6;
|
||||
$area = WIDTH * HEIGHT;
|
||||
|
||||
$layers = array_map(static function($layer) {
|
||||
return str_split($layer);
|
||||
}, str_split($input, $area));
|
||||
|
||||
usort($layers, function($layer_a, $layer_b) {
|
||||
$a0 = array_count_values($layer_a)['0'];
|
||||
$b0 = array_count_values($layer_b)['0'];
|
||||
if ($a0 === $b0) {
|
||||
return 0;
|
||||
}
|
||||
return $a0 < $b0 ? -1 : 1 ;
|
||||
});
|
||||
|
||||
reset($layers);
|
||||
$fewest_0_layer = current($layers);
|
||||
|
||||
echo array_count_values($fewest_0_layer)['1'] * array_count_values($fewest_0_layer)['2'];
|
Reference in New Issue
Block a user