diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-09-24 14:09:27 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-09-24 14:09:27 +0200 |
| commit | 41d1f965a1027c47b95c4bf24d56d792ae484547 (patch) | |
| tree | db2c5f894ff5a2333d6fda35bd2aef934acb9d43 | |
| parent | ba43e97889fede511744942b065a34479b868db4 (diff) | |
| download | perlweeklychallenge-club-41d1f965a1027c47b95c4bf24d56d792ae484547.tar.gz perlweeklychallenge-club-41d1f965a1027c47b95c4bf24d56d792ae484547.tar.bz2 perlweeklychallenge-club-41d1f965a1027c47b95c4bf24d56d792ae484547.zip | |
solutions week 235
| -rw-r--r-- | challenge-235/wambash/raku/ch-1.raku | 18 | ||||
| -rw-r--r-- | challenge-235/wambash/raku/ch-2.raku | 19 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-235/wambash/raku/ch-1.raku b/challenge-235/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..464d8be03a --- /dev/null +++ b/challenge-235/wambash/raku/ch-1.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +sub remove-one (+@ints) { + ^@ints + andthen .first: { [<] @ints[0..$_-1, $_+1..*].flat } +} + +multi MAIN (Bool :test($)!) { + use Test; + is remove-one(0,2,9,4,6),2; + is remove-one(5,1,3,2), Nil; + is remove-one(2,2,3), 0; + done-testing; +} + +multi MAIN (*@ints) { + say remove-one(@ints) !=== Nil +} diff --git a/challenge-235/wambash/raku/ch-2.raku b/challenge-235/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..c3d228bf61 --- /dev/null +++ b/challenge-235/wambash/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub duplicate-zeros (+@ints) { + @ints + andthen .map: { $_ == 0 ?? |(0,0) !! $_ }\ + andthen .head: @ints.elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is duplicate-zeros(1,0,2,3,0,4,5,0), (1,0,0,2,3,0,0,4); + is duplicate-zeros(1,2,3), (1,2,3); + is duplicate-zeros(0,3,0,4,5), (0,0,3,0,0); + done-testing; +} + +multi MAIN (*@ints) { + put duplicate-zeros @ints +} |
