aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-02-18 19:16:00 +0000
committerGitHub <noreply@github.com>2024-02-18 19:16:00 +0000
commit9a2e99f0e06ed1232a7a2e42bfe25ad8638dda68 (patch)
tree7ea3c35449f25d3be777fb919dd1a80e85e491bb
parent632f30aa1fc83403b2659d1899db120fada58c42 (diff)
parent1f3917e82cc19e0bc78670402990d5e35f9b7f03 (diff)
downloadperlweeklychallenge-club-9a2e99f0e06ed1232a7a2e42bfe25ad8638dda68.tar.gz
perlweeklychallenge-club-9a2e99f0e06ed1232a7a2e42bfe25ad8638dda68.tar.bz2
perlweeklychallenge-club-9a2e99f0e06ed1232a7a2e42bfe25ad8638dda68.zip
Merge pull request #9599 from wambash/challenge-week-256
Challenge week 256
-rw-r--r--challenge-256/wambash/raku/ch-1.raku20
-rw-r--r--challenge-256/wambash/raku/ch-2.raku21
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-256/wambash/raku/ch-1.raku b/challenge-256/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..a33a1b37f2
--- /dev/null
+++ b/challenge-256/wambash/raku/ch-1.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub maximum-pairs (+words) {
+ words
+ andthen .combinations: 2
+ andthen .map: -> ( $fw, $sw ) { $fw eq $sw.flip }\
+ andthen .sum
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is maximum-pairs(<ab de ed bc>),1;
+ is maximum-pairs(<aa ba cd ed>),0;
+ is maximum-pairs(<uv qp st vu mn pq>),2;
+ done-testing;
+}
+
+multi MAIN (+words) {
+ say maximum-pairs words
+}
diff --git a/challenge-256/wambash/raku/ch-2.raku b/challenge-256/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..90d80fcf51
--- /dev/null
+++ b/challenge-256/wambash/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub merge-strings (+string) {
+ string
+ andthen .map: *.comb
+ andthen roundrobin |$_, :slip
+ andthen .join
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is merge-strings(<abcd 1234>), 'a1b2c3d4';
+ is merge-strings('abc','12345'), 'a1b2c345';
+ is merge-strings(<abcde 123>), 'a1b2c3de';
+ is merge-strings(<abcde 123 AB>), 'a1Ab2Bc3de';
+ done-testing;
+}
+
+multi MAIN (+string) {
+ say merge-strings string
+}