diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2025-05-23 14:02:26 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2025-05-23 14:02:26 +0200 |
| commit | 1743ec2a7282b5ba6ab3c2100e949344b332e54a (patch) | |
| tree | e30bcf63a1e7e2ef9da9acb10cce8a1916a73b51 | |
| parent | d9a8a0d7aba084dc687dd97473f8739db9387b5c (diff) | |
| download | perlweeklychallenge-club-1743ec2a7282b5ba6ab3c2100e949344b332e54a.tar.gz perlweeklychallenge-club-1743ec2a7282b5ba6ab3c2100e949344b332e54a.tar.bz2 perlweeklychallenge-club-1743ec2a7282b5ba6ab3c2100e949344b332e54a.zip | |
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; +} |
