aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-05-04 15:30:19 +0100
committerGitHub <noreply@github.com>2025-05-04 15:30:19 +0100
commit897c72e7a214016f96e981ba4ef6fffe4bb058f4 (patch)
treecaeaa2af51c99aceb0ef0c61e464c2dc0b9cb437
parentb0cff57b88d9a7957a292ee77bb76f0c741c3ac7 (diff)
parent0e31f2c67673a665792de3fcd257905825126969 (diff)
downloadperlweeklychallenge-club-897c72e7a214016f96e981ba4ef6fffe4bb058f4.tar.gz
perlweeklychallenge-club-897c72e7a214016f96e981ba4ef6fffe4bb058f4.tar.bz2
perlweeklychallenge-club-897c72e7a214016f96e981ba4ef6fffe4bb058f4.zip
Merge pull request #11969 from wambash/challenge-week-319
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 {$_}
+ }
+}