diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-02-18 19:16:00 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-18 19:16:00 +0000 |
| commit | 9a2e99f0e06ed1232a7a2e42bfe25ad8638dda68 (patch) | |
| tree | 7ea3c35449f25d3be777fb919dd1a80e85e491bb | |
| parent | 632f30aa1fc83403b2659d1899db120fada58c42 (diff) | |
| parent | 1f3917e82cc19e0bc78670402990d5e35f9b7f03 (diff) | |
| download | perlweeklychallenge-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.raku | 20 | ||||
| -rw-r--r-- | challenge-256/wambash/raku/ch-2.raku | 21 |
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 +} |
