diff options
| -rw-r--r-- | challenge-073/wambash/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-073/wambash/raku/ch-2.raku | 15 |
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-073/wambash/raku/ch-1.raku b/challenge-073/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..3316474556 --- /dev/null +++ b/challenge-073/wambash/raku/ch-1.raku @@ -0,0 +1,13 @@ +use v6; + +sub min-sliding-window (@a, $s) { + @a + andthen .rotor: $s => - $s.pred + andthen .map: *.min +} + +sub MAIN ( :$test! ) { + use Test; + is min-sliding-window((1, 5, 0, 2, 9, 3, 7, 6, 4, 8),3), (0, 0, 0, 2, 3, 3, 4, 4); + done-testing(); +} diff --git a/challenge-073/wambash/raku/ch-2.raku b/challenge-073/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..0be50392f4 --- /dev/null +++ b/challenge-073/wambash/raku/ch-2.raku @@ -0,0 +1,15 @@ +use v6; + +sub smallest-neighbour ( +@a ) { + @a + andthen $_ Z=> .produce: &[min] + andthen .map: { .key > .value ?? .value !! 0 } +} + + +sub MAIN ( :$test! ) { + use Test; + is smallest-neighbour(7, 8, 3, 12, 10), (0, 7, 0, 3, 3); + is smallest-neighbour(4, 6, 5), (0, 4, 4); + done-testing(); +} |
