diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-07-22 00:27:01 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-22 00:27:01 +0100 |
| commit | f0c338ac1b8758b423563edf45c4652e9658eb75 (patch) | |
| tree | 5e152433679706ba9895fea02244d1501c915002 | |
| parent | 12fd47633c999f4dc975fa2beafddfb78c17352a (diff) | |
| parent | e1648be733a48c6c5c8a76149dfcd922a3873b17 (diff) | |
| download | perlweeklychallenge-club-f0c338ac1b8758b423563edf45c4652e9658eb75.tar.gz perlweeklychallenge-club-f0c338ac1b8758b423563edf45c4652e9658eb75.tar.bz2 perlweeklychallenge-club-f0c338ac1b8758b423563edf45c4652e9658eb75.zip | |
Merge pull request #12390 from andemark/challenge-331
Challenge 331 Solutions (Raku)
| -rw-r--r-- | challenge-331/mark-anderson/raku/ch-1.raku | 11 | ||||
| -rw-r--r-- | challenge-331/mark-anderson/raku/ch-2.raku | 23 |
2 files changed, 34 insertions, 0 deletions
diff --git a/challenge-331/mark-anderson/raku/ch-1.raku b/challenge-331/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..a2bc216d54 --- /dev/null +++ b/challenge-331/mark-anderson/raku/ch-1.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku +use Test; + +is last-word("The Weekly Challenge"), 9; +is last-word(" Hello World "), 5; +is last-word("Let's begin the fun"), 3; + +sub last-word($str) +{ + $str.words.tail.chars +} diff --git a/challenge-331/mark-anderson/raku/ch-2.raku b/challenge-331/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..229f003d8c --- /dev/null +++ b/challenge-331/mark-anderson/raku/ch-2.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku +use Test; + +ok buddy-strings("fuck", "fcuk"); +nok buddy-strings("love", "love"); +ok buddy-strings("fodo", "food"); +ok buddy-strings("feed", "feed"); + +sub buddy-strings($s, $t) +{ + given $s.comb >>eq<< $t.comb + { + return $s.comb.Bag.values.any >= 2 if .all; + + given .grep(*.not, :k) + { + return False unless .elems == 2; + + return $s.substr(.[0], 1) ~ $s.substr(.[1], 1) eq + $t.substr(.[1], 1) ~ $t.substr(.[0], 1) + } + } +} |
