diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2025-02-09 14:16:38 +0100 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2025-02-09 14:16:38 +0100 |
| commit | d90c93f2b875a0a361580fe8061a75036c3cb76e (patch) | |
| tree | 8666b4bef3fbfa375ac875463b80a5df6756e41d | |
| parent | c4ea1783e14fc6b09cd2164da21e0fc3725f4379 (diff) | |
| download | perlweeklychallenge-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.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 +} |
