From d7fce8c575960db6bf40ea721d4fa222a67851d1 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 25 Oct 2020 18:24:35 +0100 Subject: solutions week 083 --- challenge-083/wambash/raku/ch-1.raku | 17 +++++++++++++++++ challenge-083/wambash/raku/ch-2.raku | 21 +++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100755 challenge-083/wambash/raku/ch-1.raku create mode 100644 challenge-083/wambash/raku/ch-2.raku diff --git a/challenge-083/wambash/raku/ch-1.raku b/challenge-083/wambash/raku/ch-1.raku new file mode 100755 index 0000000000..a3ec9740a7 --- /dev/null +++ b/challenge-083/wambash/raku/ch-1.raku @@ -0,0 +1,17 @@ +#!/usr/bin/env raku + +sub words-length ( $s ) { + $s.words[0 ^..^ *-1]».chars.sum +} + + +multi MAIN ( Bool :$test! ) { + use Test; + is words-length('The weekly challange'), 6; + is words-length('The purpose of our lives is to be happy'), 23; + done-testing; +} + +multi MAIN () { + say slurp.&words-length +} diff --git a/challenge-083/wambash/raku/ch-2.raku b/challenge-083/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..24fafda782 --- /dev/null +++ b/challenge-083/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub flip-array (+@a) { + my $sum = @a.sum; + @a.keys + andthen .combinations + andthen .min: { ( $sum - 2*@a[|$_].sum ) mod (4*$sum) }\ + andthen .elems +} + +multi MAIN ( Bool :$test! ) { + use Test; + is flip-array(3,10,8), 1; + is flip-array(12,2,10), 1; + is flip-array(10,2,12), 1; + done-testing; +} + +multi MAIN (**@a) { + say flip-array @a; +} -- cgit