aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2025-02-09 14:16:38 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2025-02-09 14:16:38 +0100
commitd90c93f2b875a0a361580fe8061a75036c3cb76e (patch)
tree8666b4bef3fbfa375ac875463b80a5df6756e41d
parentc4ea1783e14fc6b09cd2164da21e0fc3725f4379 (diff)
downloadperlweeklychallenge-club-d90c93f2b875a0a361580fe8061a75036c3cb76e.tar.gz
perlweeklychallenge-club-d90c93f2b875a0a361580fe8061a75036c3cb76e.tar.bz2
perlweeklychallenge-club-d90c93f2b875a0a361580fe8061a75036c3cb76e.zip
solutions week 307
-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
+}