aboutsummaryrefslogtreecommitdiff
path: root/challenge-083
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-10-25 17:42:56 +0000
committerGitHub <noreply@github.com>2020-10-25 17:42:56 +0000
commitacc28865fd07aa8b07db328ae580932a1aaabe3f (patch)
treeac392eadd70f35a023caa89fb81d8a681caa6612 /challenge-083
parent0fdec9c64fad596ea551b4f68ce93c06acd3c27a (diff)
parentd7fce8c575960db6bf40ea721d4fa222a67851d1 (diff)
downloadperlweeklychallenge-club-acc28865fd07aa8b07db328ae580932a1aaabe3f.tar.gz
perlweeklychallenge-club-acc28865fd07aa8b07db328ae580932a1aaabe3f.tar.bz2
perlweeklychallenge-club-acc28865fd07aa8b07db328ae580932a1aaabe3f.zip
Merge pull request #2614 from wambash/challenge-week-083
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;
+}