From d90c93f2b875a0a361580fe8061a75036c3cb76e Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 9 Feb 2025 14:16:38 +0100 Subject: solutions week 307 --- challenge-307/wambash/raku/ch-1.raku | 18 ++++++++++++++++++ challenge-307/wambash/raku/ch-2.raku | 19 +++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 challenge-307/wambash/raku/ch-1.raku create mode 100644 challenge-307/wambash/raku/ch-2.raku 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(), 3; + is find-anagrams(), 2; + done-testing; +} + +multi MAIN (+words) { + say find-anagrams words +} -- cgit