aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-205/wambash/raku/ch-1.raku21
-rw-r--r--challenge-205/wambash/raku/ch-2.raku20
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-205/wambash/raku/ch-1.raku b/challenge-205/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..4b7507bdc9
--- /dev/null
+++ b/challenge-205/wambash/raku/ch-1.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub third-highest (+@list) {
+ @list
+ andthen .sort
+ andthen .reverse
+ andthen .squish
+ andthen .[2]//.[0]
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is third-highest(5,3,4),3;
+ is third-highest(5,6),6;
+ is third-highest(5,4,4,3),3;
+ done-testing;
+}
+
+multi MAIN (+@list) {
+ say third-highest @list
+}
diff --git a/challenge-205/wambash/raku/ch-2.raku b/challenge-205/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..d86a1ce2fb
--- /dev/null
+++ b/challenge-205/wambash/raku/ch-2.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub maximum-xor (+@list) {
+ @list
+ andthen .combinations: 2
+ andthen .map: -> (\x,\y) {x +^ y}\
+ andthen .max
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is maximum-xor(1..7),7;
+ is maximum-xor(2,4,1,3),7;
+ is maximum-xor(10,5,7,12,8),15;
+ done-testing;
+}
+
+multi MAIN (*@list) {
+ say maximum-xor @list
+}