diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2024-02-12 08:45:25 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2024-02-12 08:45:25 +0000 |
| commit | e34c195322e37debb1cd3d45bec6197dfaaf5c66 (patch) | |
| tree | 4dc1e1c41ef36b71cc66e389ea1e955d41720115 /challenge-256 | |
| parent | 8330161acea0a830f3b28421c68a4392aca5c069 (diff) | |
| download | perlweeklychallenge-club-e34c195322e37debb1cd3d45bec6197dfaaf5c66.tar.gz perlweeklychallenge-club-e34c195322e37debb1cd3d45bec6197dfaaf5c66.tar.bz2 perlweeklychallenge-club-e34c195322e37debb1cd3d45bec6197dfaaf5c66.zip | |
Challenge 256 Solutions (Raku)
Diffstat (limited to 'challenge-256')
| -rw-r--r-- | challenge-256/mark-anderson/raku/ch-1.raku | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/challenge-256/mark-anderson/raku/ch-1.raku b/challenge-256/mark-anderson/raku/ch-1.raku index 11e69decd1..63d957d319 100644 --- a/challenge-256/mark-anderson/raku/ch-1.raku +++ b/challenge-256/mark-anderson/raku/ch-1.raku @@ -1,17 +1,19 @@ #!/usr/bin/env raku -use Adverb::Eject; use Test; is max-pairs(<ab de ed bc>), 1; is max-pairs(<aa ba cd ed>), 0; is max-pairs(<uv qp st vu mn pq>), 2; +# Credit to Niels van Dijke (PerlBoy1967) for this algorithm. + sub max-pairs(*@words) { - + do while @words + my $bh = BagHash.new; + + + do gather for @words { - my $w = @words.pop; - my $k = @words.first(* eq $w.flip, :k); - @words[$k]:eject with $k + .take if $bh{$_}; + $bh.add(.flip) } } |
