diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-05-23 23:10:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-23 23:10:34 +0100 |
| commit | f2be6956cca5a69bf0d30f2bebe053ff7c51f851 (patch) | |
| tree | 868227a7b6d580680cf26030f87885482e8a54f7 | |
| parent | 75c676d898ef08674e811d6f75e8f7d791d6b6d4 (diff) | |
| parent | 1743ec2a7282b5ba6ab3c2100e949344b332e54a (diff) | |
| download | perlweeklychallenge-club-f2be6956cca5a69bf0d30f2bebe053ff7c51f851.tar.gz perlweeklychallenge-club-f2be6956cca5a69bf0d30f2bebe053ff7c51f851.tar.bz2 perlweeklychallenge-club-f2be6956cca5a69bf0d30f2bebe053ff7c51f851.zip | |
Merge pull request #12065 from wambash/challenge-week-321
solutions week 321
| -rw-r--r-- | challenge-321/wambash/raku/ch-1.raku | 21 | ||||
| -rw-r--r-- | challenge-321/wambash/raku/ch-2.raku | 25 |
2 files changed, 46 insertions, 0 deletions
diff --git a/challenge-321/wambash/raku/ch-1.raku b/challenge-321/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..76e316ecfe --- /dev/null +++ b/challenge-321/wambash/raku/ch-1.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub distinct-average (+nums) { + nums + andthen .sort + andthen .cache Z+ .reverse + andthen .unique + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is distinct-average(^6), 1; + is distinct-average(0,2,4,8,3,5), 2; + is distinct-average(7,3,1,0,5,9), 2; + done-testing; +} + +multi MAIN (+nums) { + say distinct-average nums; +} diff --git a/challenge-321/wambash/raku/ch-2.raku b/challenge-321/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..c024d0d2ef --- /dev/null +++ b/challenge-321/wambash/raku/ch-2.raku @@ -0,0 +1,25 @@ +#!/usr/bin/env raku +sub backspace ($str) { + $str.subst: / .<~~>?\# /,:d:g; # +} + +sub backspace-compare (+str) { + str + andthen .map: &backspace + andthen [eq] $_ +} + +multi MAIN (Bool :test($)!) { + use Test; + is backspace('ab##'), ''; + is backspace('a#b#'), ''; + is backspace-compare('ab#c','ad#c'), True; + is backspace-compare('ab##','a#b#'), True; + is backspace-compare('ab##','a#b#'), True; + is backspace-compare('a#b','c'), False; + done-testing; +} + +multi MAIN (+str) { + say backspace-compare str; +} |
