diff options
| -rw-r--r-- | challenge-205/wambash/raku/ch-1.raku | 21 | ||||
| -rw-r--r-- | challenge-205/wambash/raku/ch-2.raku | 20 |
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 +} |
