diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-02-13 00:58:24 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-13 00:58:24 +0000 |
| commit | 2c61f13242005b1d3ef4ca430ab1e94f0822ecf1 (patch) | |
| tree | 975aded8a42942b8b6491c48c8c333c552f333bc | |
| parent | 03369c159313a3752447bb6be7c0c890f26adae4 (diff) | |
| parent | 9394fad053b11b0f1449ba9acf518b5821837e74 (diff) | |
| download | perlweeklychallenge-club-2c61f13242005b1d3ef4ca430ab1e94f0822ecf1.tar.gz perlweeklychallenge-club-2c61f13242005b1d3ef4ca430ab1e94f0822ecf1.tar.bz2 perlweeklychallenge-club-2c61f13242005b1d3ef4ca430ab1e94f0822ecf1.zip | |
Merge pull request #9564 from andemark/challenge-256
Challenge 256 Solutions (Raku)
| -rw-r--r-- | challenge-256/mark-anderson/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-256/mark-anderson/raku/ch-2.raku | 11 |
2 files changed, 30 insertions, 0 deletions
diff --git a/challenge-256/mark-anderson/raku/ch-1.raku b/challenge-256/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..8de0d0f721 --- /dev/null +++ b/challenge-256/mark-anderson/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku +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) +{ + my $bh = BagHash.new; + + + gather for @words + { + .take if $bh{$_}; + $bh.add(.flip) + } +} diff --git a/challenge-256/mark-anderson/raku/ch-2.raku b/challenge-256/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..3018b23bb5 --- /dev/null +++ b/challenge-256/mark-anderson/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku +use Test; + +is merge-strings("abcd", "1234"), "a1b2c3d4"; +is merge-strings("abc", "12345"), "a1b2c345"; +is merge-strings("abcde", "123"), "a1b2c3de"; + +sub merge-strings($s1, $s2) +{ + [~] flat roundrobin $s1.comb, $s2.comb +} |
