aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-073/wambash/raku/ch-1.raku13
-rw-r--r--challenge-073/wambash/raku/ch-2.raku15
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();
+}