diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2020-10-25 18:24:35 +0100 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2020-10-25 18:24:35 +0100 |
| commit | d7fce8c575960db6bf40ea721d4fa222a67851d1 (patch) | |
| tree | b494ea4e93d84a15a505141dbd2f4b7de53b700c /challenge-083 | |
| parent | c2f5db7f256445ded6bb85961b897086c8683088 (diff) | |
| download | perlweeklychallenge-club-d7fce8c575960db6bf40ea721d4fa222a67851d1.tar.gz perlweeklychallenge-club-d7fce8c575960db6bf40ea721d4fa222a67851d1.tar.bz2 perlweeklychallenge-club-d7fce8c575960db6bf40ea721d4fa222a67851d1.zip | |
solutions week 083
Diffstat (limited to 'challenge-083')
| -rwxr-xr-x | challenge-083/wambash/raku/ch-1.raku | 17 | ||||
| -rw-r--r-- | challenge-083/wambash/raku/ch-2.raku | 21 |
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; +} |
