From 6206405ad44aa3c06e5270d929a67133ec993a9e Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 29 Sep 2025 05:43:15 +0000 Subject: Challenge 341 Solutions (Raku) --- challenge-341/mark-anderson/raku/ch-1.raku | 13 +++++++++++++ challenge-341/mark-anderson/raku/ch-2.raku | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 challenge-341/mark-anderson/raku/ch-1.raku create mode 100644 challenge-341/mark-anderson/raku/ch-2.raku 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}) +} -- cgit