aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-09-21 11:02:37 +0100
committerGitHub <noreply@github.com>2025-09-21 11:02:37 +0100
commit2241e1bcced94e4f58b72eab5ad052ee329307e6 (patch)
treeaa56eb6ab901946f538bb0062c1318b260a246f2
parent3ac78b222a010268643c7e26a0fb90fbedd92ddc (diff)
parente6604929d64557061861bfed360bca56b91159c4 (diff)
downloadperlweeklychallenge-club-2241e1bcced94e4f58b72eab5ad052ee329307e6.tar.gz
perlweeklychallenge-club-2241e1bcced94e4f58b72eab5ad052ee329307e6.tar.bz2
perlweeklychallenge-club-2241e1bcced94e4f58b72eab5ad052ee329307e6.zip
Merge pull request #12704 from wambash/challenge-week-338
solutions week 338
-rw-r--r--challenge-338/wambash/raku/ch-1.raku21
-rw-r--r--challenge-338/wambash/raku/ch-2.raku21
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-338/wambash/raku/ch-1.raku b/challenge-338/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..4de75b3f87
--- /dev/null
+++ b/challenge-338/wambash/raku/ch-1.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub highest-row (+matrix) {
+ matrix
+ andthen .map: *.sum
+ andthen .max
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is highest-row(4 xx 4,(10,0,0,0),(2,2,2,9)), 16;
+ is highest-row((1,5),(7,3),(3,5)), 10;
+ is highest-row((1,2,3),(3,2,1)), 6;
+ is highest-row((2,8,7),(7,1,3),(1,9,5)), 17;
+ is highest-row((10,20,30),(5,5,5),(0,100,0), (25,25,25)), 100;
+ done-testing;
+}
+
+multi MAIN (+matrix) {
+ say highest-row matrix.map: *.comb: /\d+/ ;
+}
diff --git a/challenge-338/wambash/raku/ch-2.raku b/challenge-338/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..68255d1514
--- /dev/null
+++ b/challenge-338/wambash/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub max-distance (@arr1, @arr2) {
+ my ($min1,$max1) = @arr1.minmax.bounds;
+ my ($min2,$max2) = @arr2.minmax.bounds;
+ ($max1-$min2) max ($max2 - $min1)
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is max-distance((4,5,7),(9,1,3,4)), 6;
+ is max-distance((2,3,5,4),(3,2,5,5,8,7)), 6;
+ is max-distance((2,1,11,3),(2,5,10,2)), 9;
+ is max-distance((1...3),(3...1)), 2;
+ is max-distance((1,0,2,3),(5,0)), 5;
+ done-testing;
+}
+
+multi MAIN ($arr1, $arr2) {
+ say max-distance $arr1.comb(/\d+/), $arr2.comb(/\d+/);
+}