aboutsummaryrefslogtreecommitdiff
path: root/challenge-083
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2020-10-25 18:24:35 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2020-10-25 18:24:35 +0100
commitd7fce8c575960db6bf40ea721d4fa222a67851d1 (patch)
treeb494ea4e93d84a15a505141dbd2f4b7de53b700c /challenge-083
parentc2f5db7f256445ded6bb85961b897086c8683088 (diff)
downloadperlweeklychallenge-club-d7fce8c575960db6bf40ea721d4fa222a67851d1.tar.gz
perlweeklychallenge-club-d7fce8c575960db6bf40ea721d4fa222a67851d1.tar.bz2
perlweeklychallenge-club-d7fce8c575960db6bf40ea721d4fa222a67851d1.zip
solutions week 083
Diffstat (limited to 'challenge-083')
-rwxr-xr-xchallenge-083/wambash/raku/ch-1.raku17
-rw-r--r--challenge-083/wambash/raku/ch-2.raku21
2 files changed, 38 insertions, 0 deletions
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;
+}