diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2024-06-16 10:04:53 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2024-06-16 10:04:53 +0200 |
| commit | a5140dec1dc919c7c17c30d885a08ba1285b24e3 (patch) | |
| tree | b7c5f599ff6a5c2b3f72677e08bb5627c02d1667 | |
| parent | e7c6e4694cbc20e39268624c74ec9d5134bd66b7 (diff) | |
| download | perlweeklychallenge-club-a5140dec1dc919c7c17c30d885a08ba1285b24e3.tar.gz perlweeklychallenge-club-a5140dec1dc919c7c17c30d885a08ba1285b24e3.tar.bz2 perlweeklychallenge-club-a5140dec1dc919c7c17c30d885a08ba1285b24e3.zip | |
solutions week 273
| -rw-r--r-- | challenge-273/wambash/raku/ch-1.raku | 24 | ||||
| -rw-r--r-- | challenge-273/wambash/raku/ch-2.raku | 18 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-273/wambash/raku/ch-1.raku b/challenge-273/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..ed86f71bba --- /dev/null +++ b/challenge-273/wambash/raku/ch-1.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +sub percentage-of-character ($str,:$char) { + $str.comb + andthen .Bag + andthen .{$char}/.total + andthen 100 * $_ + andthen .round +} + +multi MAIN (Bool :test($)!) { + use Test; + is percentage-of-character('perl',:char<e>), 25; + is percentage-of-character('java',:char<a>), 50; + is percentage-of-character('python',:char<m>), 0; + is percentage-of-character('ada',:char<a>), 67; + is percentage-of-character('ballerina',:char<l>), 22; + is percentage-of-character('analitik',:char<k>), 13; + done-testing; +} + +multi MAIN ($str,:$char) { + say percentage-of-character $str,:$char +} diff --git a/challenge-273/wambash/raku/ch-2.raku b/challenge-273/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..13d15317a5 --- /dev/null +++ b/challenge-273/wambash/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +sub B-after-A ($str) { + $str.contains: /^ a* b+ $/ +} + +multi MAIN (Bool :test($)!) { + use Test; + is B-after-A('aabb'),True; + is B-after-A('abab'),False; + is B-after-A('aaa'),False; + is B-after-A('bbb'),True; + done-testing; +} + +multi MAIN ($str) { + say B-after-A $str +} |
