aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-02-13 00:58:24 +0000
committerGitHub <noreply@github.com>2024-02-13 00:58:24 +0000
commit2c61f13242005b1d3ef4ca430ab1e94f0822ecf1 (patch)
tree975aded8a42942b8b6491c48c8c333c552f333bc
parent03369c159313a3752447bb6be7c0c890f26adae4 (diff)
parent9394fad053b11b0f1449ba9acf518b5821837e74 (diff)
downloadperlweeklychallenge-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.raku19
-rw-r--r--challenge-256/mark-anderson/raku/ch-2.raku11
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
+}