From 28495875d70cf8cab1bd9b34d7880ea308e480ec Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sat, 22 Aug 2020 15:58:28 +0200 Subject: solution week 074 --- challenge-074/wambash/raku/ch-1.raku | 14 ++++++++++++++ challenge-074/wambash/raku/ch-2.raku | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 challenge-074/wambash/raku/ch-1.raku create mode 100644 challenge-074/wambash/raku/ch-2.raku diff --git a/challenge-074/wambash/raku/ch-1.raku b/challenge-074/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..4b4a1ec2a2 --- /dev/null +++ b/challenge-074/wambash/raku/ch-1.raku @@ -0,0 +1,14 @@ +use v6; + +sub majority-element (+@a) { + @a.Bag + andthen \(total => .total, max-element => .max: *.value) + andthen . - ..value < ..value ?? ..key !! -1 +} + +sub MAIN (:$test) { + use Test; + is majority-element(1, 2, 2, 3, 2, 4, 2), 2; + is majority-element(1, 3, 1, 2, 4, 5), -1; + done-testing(); +} diff --git a/challenge-074/wambash/raku/ch-2.raku b/challenge-074/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..55fc320f00 --- /dev/null +++ b/challenge-074/wambash/raku/ch-2.raku @@ -0,0 +1,17 @@ +use v6; + +sub infix: (+@a) is assoc { + @a.first: * ∉ @a.repeated, :end orelse '#' +} + +sub FNR-charakter ( $s ) { + [~] [\FNR] $s.comb +} + +sub MAIN ( :$test ) { + use Test; + is 'a' FNR 'b' FNR 'c' FNR 'a', 'c'; + is FNR-charakter('ababc'), ‘abb#c’; + is FNR-charakter('xyzzyx'), ‘xyzyx#’; + done-testing(); +} -- cgit