aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-307/wambash/raku/ch-1.raku18
-rw-r--r--challenge-307/wambash/raku/ch-2.raku19
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-307/wambash/raku/ch-1.raku b/challenge-307/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..31b784d106
--- /dev/null
+++ b/challenge-307/wambash/raku/ch-1.raku
@@ -0,0 +1,18 @@
+#!/usr/bin/env raku
+
+sub check-order (+@ints) {
+ @ints Z== @ints.sort
+ andthen .grep: *.not, :k
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is check-order(5,2,4,3,1),(0,2,3,4);
+ is check-order(1, 2, 1, 1, 3), (1,3);
+ is check-order(3, 1, 3, 2, 3), (0,1,3);
+ done-testing;
+}
+
+multi MAIN (+ints) {
+ put check-order ints
+}
diff --git a/challenge-307/wambash/raku/ch-2.raku b/challenge-307/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..1184ed5b32
--- /dev/null
+++ b/challenge-307/wambash/raku/ch-2.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+sub find-anagrams (+words) {
+ words
+ andthen .map: *.comb.Bag
+ andthen .unique
+ andthen .elems
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is find-anagrams(<acca dog god perl repl>), 3;
+ is find-anagrams(<abba baba aabb ab ab>), 2;
+ done-testing;
+}
+
+multi MAIN (+words) {
+ say find-anagrams words
+}