[2017-12-04] Solutions for both puzzles
parent
d6143fcaef
commit
35d6b5b3a9
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
// https://adventofcode.com/2017/day/4
|
||||
|
||||
function puzzle1(string $input) : int
|
||||
{
|
||||
$rows = explode(PHP_EOL, $input);
|
||||
$sum = 0;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$words = explode(' ', $row);
|
||||
|
||||
if (count($words) === count(array_unique($words))) {
|
||||
$sum++;
|
||||
}
|
||||
}
|
||||
|
||||
return $sum;
|
||||
}
|
||||
|
||||
function puzzle2(string $input) : int
|
||||
{
|
||||
$rows = explode(PHP_EOL, $input);
|
||||
$sum = 0;
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$words = explode(' ', $row);
|
||||
|
||||
// Sort letters in alphabetical order in words
|
||||
$words = array_map(function($value) {
|
||||
$letters = str_split($value, 1);
|
||||
|
||||
sort($letters);
|
||||
|
||||
return implode('', $letters);
|
||||
}, $words);
|
||||
|
||||
// Count unique words
|
||||
if (count($words) === count(array_unique($words))) {
|
||||
$sum++;
|
||||
}
|
||||
}
|
||||
|
||||
return $sum;
|
||||
}
|
Loading…
Reference in New Issue