From 0e31f2c67673a665792de3fcd257905825126969 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 4 May 2025 16:25:30 +0200 Subject: solutions week 319 --- challenge-319/wambash/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-319/wambash/raku/ch-2.raku | 25 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 challenge-319/wambash/raku/ch-1.raku create mode 100644 challenge-319/wambash/raku/ch-2.raku diff --git a/challenge-319/wambash/raku/ch-1.raku b/challenge-319/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..e90429cbdf --- /dev/null +++ b/challenge-319/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub word-count (+list) { + list + andthen .grep: *.contains: / ^<[aeiou]> | <[aeiou]>$ / + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is word-count(),2; + is word-count(),2; + is word-count(),0; + done-testing; +} + +multi MAIN (+list) { + say word-count list +} diff --git a/challenge-319/wambash/raku/ch-2.raku b/challenge-319/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..df247ac708 --- /dev/null +++ b/challenge-319/wambash/raku/ch-2.raku @@ -0,0 +1,25 @@ +#!/usr/bin/env raku +use v6.e.*; + +sub minimum-common (+arrays) { + arrays + andthen [∩] $_ + andthen .keys + andthen .min + +} + +multi MAIN (Bool :test($)!) { + use Test; + is minimum-common((1,2,3,4),(3,4,5,6)), 3; + is minimum-common((1,2,3),(2,4)), 2; + is minimum-common((1,2,3,4),(5,6,7,8)), Inf; + done-testing; +} + + multi MAIN (+arrays) { + say do with minimum-common arrays».comb: /\d+/ { + when Inf {-1} + default {$_} + } +} -- cgit