diff options
| author | Mark Anderson <mark@andemark.io> | 2025-09-29 05:43:15 +0000 |
|---|---|---|
| committer | Mark Anderson <mark@andemark.io> | 2025-09-29 05:43:15 +0000 |
| commit | 6206405ad44aa3c06e5270d929a67133ec993a9e (patch) | |
| tree | b061b3d447742e4b0cb8e3250d539b1e29ef66d9 | |
| parent | b35e6ce2c209fad4aed4c1cb66ea0840143cbed1 (diff) | |
| download | perlweeklychallenge-club-6206405ad44aa3c06e5270d929a67133ec993a9e.tar.gz perlweeklychallenge-club-6206405ad44aa3c06e5270d929a67133ec993a9e.tar.bz2 perlweeklychallenge-club-6206405ad44aa3c06e5270d929a67133ec993a9e.zip | |
Challenge 341 Solutions (Raku)
| -rw-r--r-- | challenge-341/mark-anderson/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-341/mark-anderson/raku/ch-2.raku | 13 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-341/mark-anderson/raku/ch-1.raku b/challenge-341/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..52cea38299 --- /dev/null +++ b/challenge-341/mark-anderson/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku +use Test; + +is broken-keyboard("Hello World", [< d >] ), 1; +is broken-keyboard("apple banana cherry", [< a e >]), 0; +is broken-keyboard("Coding is fun", Empty), 3; +is broken-keyboard("The Weekly Challenge", [< a b >]), 2; +is broken-keyboard("Perl and Python", [< p >]), 1; + +sub broken-keyboard($str, @keys) +{ + $str.words.grep({ none /:i @keys/ }).elems +} diff --git a/challenge-341/mark-anderson/raku/ch-2.raku b/challenge-341/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..d7e2dd24db --- /dev/null +++ b/challenge-341/mark-anderson/raku/ch-2.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku +use Test; + +is reverse-prefix("programming", "g"), "gorpramming"; +is reverse-prefix("hello", "h"), "hello"; +is reverse-prefix("abcdefghij", "h"), "hgfedcbaij"; +is reverse-prefix("reverse", "s"), "srevere"; +is reverse-prefix("perl", "r"), "repl"; + +sub reverse-prefix($str, $char) +{ + $str.subst(/(.*? $char)/, {$0.flip}) +} |
