From a5140dec1dc919c7c17c30d885a08ba1285b24e3 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 16 Jun 2024 10:04:53 +0200 Subject: solutions week 273 --- challenge-273/wambash/raku/ch-1.raku | 24 ++++++++++++++++++++++++ challenge-273/wambash/raku/ch-2.raku | 18 ++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 challenge-273/wambash/raku/ch-1.raku create mode 100644 challenge-273/wambash/raku/ch-2.raku 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), 25; + is percentage-of-character('java',:char), 50; + is percentage-of-character('python',:char), 0; + is percentage-of-character('ada',:char), 67; + is percentage-of-character('ballerina',:char), 22; + is percentage-of-character('analitik',:char), 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 +} -- cgit