39 lines
1.0 KiB
PHP
39 lines
1.0 KiB
PHP
<?php
|
|
|
|
/*
|
|
* Advent of Code 2016
|
|
* Day 3 (part 1 and 2)
|
|
*/
|
|
|
|
function isValidTriangle($a, $b, $c) {
|
|
return ($a + $b > $c && $a + $c > $b && $b + $c > $a);
|
|
}
|
|
|
|
$input = file('day3_input.txt');
|
|
|
|
$valid_triangle_count = 0;
|
|
foreach($input as $line) {
|
|
$args = array_values(array_filter(explode(' ', $line)));
|
|
if(isValidTriangle((int)$args[0], (int)$args[1], (int)$args[2]))
|
|
$valid_triangle_count++;
|
|
}
|
|
|
|
echo "Part 1 Count: $valid_triangle_count\n";
|
|
|
|
$valid_triangle_count = 0;
|
|
for($i = 0; $i < count($input); $i += 3) {
|
|
$args1 = array_values(array_filter(explode(' ', $input[$i+0])));
|
|
$args2 = array_values(array_filter(explode(' ', $input[$i+1])));
|
|
$args3 = array_values(array_filter(explode(' ', $input[$i+2])));
|
|
|
|
if(isValidTriangle((int)$args1[0], (int)$args2[0], (int)$args3[0]))
|
|
$valid_triangle_count++;
|
|
|
|
if(isValidTriangle((int)$args1[1], (int)$args2[1], (int)$args3[1]))
|
|
$valid_triangle_count++;
|
|
|
|
if(isValidTriangle((int)$args1[2], (int)$args2[2], (int)$args3[2]))
|
|
$valid_triangle_count++;
|
|
}
|
|
|
|
echo "Part 2 Count: $valid_triangle_count\n"; |