diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-10-05 19:50:20 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-05 19:50:20 +0100 |
| commit | 2c8d97fabf64d456c0e7a628943dea3749dbfc75 (patch) | |
| tree | 0a1dc7f1620c6bd3cfc959764bf5256ee30706fd | |
| parent | 5b5602cd8146e0588abaf6710aa63bc472dc62aa (diff) | |
| parent | 710977fe6652dc388480f197c925acd56ce64de4 (diff) | |
| download | perlweeklychallenge-club-2c8d97fabf64d456c0e7a628943dea3749dbfc75.tar.gz perlweeklychallenge-club-2c8d97fabf64d456c0e7a628943dea3749dbfc75.tar.bz2 perlweeklychallenge-club-2c8d97fabf64d456c0e7a628943dea3749dbfc75.zip | |
Merge pull request #12792 from wambash/challenge-week-341
Challenge week 341
| -rw-r--r-- | challenge-341/wambash/raku/ch-1.raku | 23 | ||||
| -rw-r--r-- | challenge-341/wambash/raku/ch-2.raku | 21 |
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-341/wambash/raku/ch-1.raku b/challenge-341/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..c0f23228c7 --- /dev/null +++ b/challenge-341/wambash/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +sub broken-keyboard ($str, :$keys=()) { + $str + andthen .words + andthen .grep: { !.contains: $keys.any,:i }\ + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is broken-keyboard('Hello World', :keys<d> ), 1; + is broken-keyboard('apple banana cherry', :keys<a e> ), 0; + is broken-keyboard('Coding is fun', :keys() ), 3; + is broken-keyboard('Coding is fun' ), 3; + is broken-keyboard('The weekly challenge',:keys<a b> ), 2; + is broken-keyboard('Perl and Python',:keys<p> ), 1; + done-testing; +} + +multi MAIN (+$str, :@keys) { + say broken-keyboard ~$str, :@keys; +} diff --git a/challenge-341/wambash/raku/ch-2.raku b/challenge-341/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..b143ae5185 --- /dev/null +++ b/challenge-341/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub reverse-prefix (+$str, :$char) { + my ($prefix, $root) = $str.split: / <?after "$char"> /, 2; + + $prefix.flip ~ $root +} + +multi MAIN (Bool :test($)!) { + use Test; + is reverse-prefix('perl',:char<r>), 'repl'; + is reverse-prefix('programming',:char<g>), 'gorpramming'; + is reverse-prefix('hello',:char<h>), 'hello'; + is reverse-prefix('abcdefghij',:char<h>), 'hgfedcbaij'; + is reverse-prefix('reverse',:char<s>), 'srevere'; + done-testing; +} + +multi MAIN (+$str, :$char) { + say reverse-prefix $str, :$char; +} |
