diff options
| -rw-r--r-- | challenge-307/wambash/raku/ch-1.raku | 18 | ||||
| -rw-r--r-- | challenge-307/wambash/raku/ch-2.raku | 19 |
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 +} |
