From ebc3f80c863b3ed9cfd755590a56a6e70ef669c4 Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 8 Sep 2025 05:24:34 +0000 Subject: Challenge 338 Solutions (Raku) --- challenge-338/mark-anderson/raku/ch-1.raku | 27 +++++++++++++++++++++++++++ challenge-338/mark-anderson/raku/ch-2.raku | 16 ++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 challenge-338/mark-anderson/raku/ch-1.raku create mode 100644 challenge-338/mark-anderson/raku/ch-2.raku diff --git a/challenge-338/mark-anderson/raku/ch-1.raku b/challenge-338/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..a48dbb151a --- /dev/null +++ b/challenge-338/mark-anderson/raku/ch-1.raku @@ -0,0 +1,27 @@ +#!/usr/bin/env raku +use Test; + +is highest-row([4, 4, 4, 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; + +sub highest-row(+@m) +{ + @m>>.sum.max +} diff --git a/challenge-338/mark-anderson/raku/ch-2.raku b/challenge-338/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..680d5e4ac7 --- /dev/null +++ b/challenge-338/mark-anderson/raku/ch-2.raku @@ -0,0 +1,16 @@ +#!/usr/bin/env raku +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,2,3), (3,2,1)), 2; +is max-distance((1,0,2,3), (5,0)), 5; + +sub max-distance(@a, @b) +{ + my ($min-a, $max-a) = @a.minmax[0,*-1]; + my ($min-b, $max-b) = @b.minmax[0,*-1]; + + max $max-a - $min-b, $max-b - $min-a +} -- cgit