aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-286/wambash/raku/ch-1.raku8
-rw-r--r--challenge-286/wambash/raku/ch-2.raku24
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-286/wambash/raku/ch-1.raku b/challenge-286/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..f45c58271e
--- /dev/null
+++ b/challenge-286/wambash/raku/ch-1.raku
@@ -0,0 +1,8 @@
+#!/usr/bin/env raku
+
+unit sub MAIN;
+
+slurp $?FILE
+andthen .words
+andthen .pick
+andthen .put
diff --git a/challenge-286/wambash/raku/ch-2.raku b/challenge-286/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..858a966dcc
--- /dev/null
+++ b/challenge-286/wambash/raku/ch-2.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+
+sub order-game-step (@ints) {
+ cache @ints.map: -> $a, $b, $c?, $d? { slip $a min $b, $c max $d }
+}
+
+sub order-game (+ints) {
+ ints
+ andthen .list, &order-game-step ... *.tail eq -Inf
+ andthen .tail
+ andthen .head
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is order-game(2, 1, 4, 5, 6, 3, 0, 2), 1;
+ is order-game(0, 5, 3, 2), 0;
+ is order-game(9, 2, 1, 4, 5, 6, 0, 7, 3, 1, 3, 5, 7, 9, 0, 8), 2;
+ done-testing;
+}
+
+multi MAIN (+ints) {
+ say order-game +ints
+}