aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2025-05-04 16:25:30 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2025-05-04 16:25:30 +0200
commit0e31f2c67673a665792de3fcd257905825126969 (patch)
treecaeaa2af51c99aceb0ef0c61e464c2dc0b9cb437
parentb0cff57b88d9a7957a292ee77bb76f0c741c3ac7 (diff)
downloadperlweeklychallenge-club-0e31f2c67673a665792de3fcd257905825126969.tar.gz
perlweeklychallenge-club-0e31f2c67673a665792de3fcd257905825126969.tar.bz2
perlweeklychallenge-club-0e31f2c67673a665792de3fcd257905825126969.zip
solutions week 319
-rw-r--r--challenge-319/wambash/raku/ch-1.raku19
-rw-r--r--challenge-319/wambash/raku/ch-2.raku25
2 files changed, 44 insertions, 0 deletions
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(<uncode xml raku perl>),2;
+ is word-count(<the weekly challenge>),2;
+ is word-count(<perl python postgres>),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 {$_}
+ }
+}