This commit is contained in:
Oliver Davies 2020-07-04 10:41:21 +01:00
parent 44a3ef971d
commit 53140ead8a
4 changed files with 341 additions and 159 deletions

27
src/Anagram.php Normal file
View file

@ -0,0 +1,27 @@
<?php
declare(strict_types=1);
namespace App;
use Tightenco\Collect\Support\Collection;
final class Anagram
{
private static function sortLettersInWord(string $word): string
{
return (new Collection(str_split($word)))
->sort()
->implode('');
}
public static function forWord(string $word, array $candidates): Collection
{
$word = static::sortLettersInWord($word);
return (new Collection($candidates))
->filter(fn (string $candidate): bool =>
static::sortLettersInWord($candidate) == $word)
->values();
}
}