From 990e516e4570f4d538564663e5515b3007c8c991 Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Tue, 9 Sep 2025 16:56:51 -0400 Subject: Challenge 338 by Jaldhar H. Vyas. --- challenge-338/jaldhar-h-vyas/blog.txt | 1 + challenge-338/jaldhar-h-vyas/perl/ch-1.pl | 26 ++++++++++++++++++++++++++ challenge-338/jaldhar-h-vyas/perl/ch-2.pl | 31 +++++++++++++++++++++++++++++++ challenge-338/jaldhar-h-vyas/raku/ch-1.sh | 3 +++ challenge-338/jaldhar-h-vyas/raku/ch-2.sh | 3 +++ 5 files changed, 64 insertions(+) create mode 100644 challenge-338/jaldhar-h-vyas/blog.txt create mode 100755 challenge-338/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-338/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-338/jaldhar-h-vyas/raku/ch-1.sh create mode 100755 challenge-338/jaldhar-h-vyas/raku/ch-2.sh diff --git a/challenge-338/jaldhar-h-vyas/blog.txt b/challenge-338/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..654be0cb65 --- /dev/null +++ b/challenge-338/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2025/09/perl_weekly_challenge_week_338.html diff --git a/challenge-338/jaldhar-h-vyas/perl/ch-1.pl b/challenge-338/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..312172c225 --- /dev/null +++ b/challenge-338/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,26 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +sub max(@arr) { + my $highest = '-inf'; + for my $i (@arr) { + if ($i > $highest) { + $highest = $i; + } + } + + return $highest; +} + +sub sum { + my $total; + for my $n (@_) { + $total += $n; + } + + return $total; +} + + +say max(map { sum(split q{,}) } @ARGV); diff --git a/challenge-338/jaldhar-h-vyas/perl/ch-2.pl b/challenge-338/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..ca18e52923 --- /dev/null +++ b/challenge-338/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,31 @@ +#!/usr/bin/perl +use 5.038; +use warnings; + +sub max(@arr) { + my $highest = '-inf'; + for my $i (@arr) { + if ($i > $highest) { + $highest = $i; + } + } + + return $highest; +} + +sub X($arr1, $arr2) { + my @arr1 = @{ $arr1 }; + my @arr2 = @{ $arr2 }; + + return map { + my $first = $_; + map { + [ ref $first eq 'ARRAY' ? @{$first} : $first, $_ ]; + } @arr2; + } @arr1; +} + +my @arr1 = map { split q{,} } shift; +my @arr2 = map { split q{,} } shift; + +say max(map { abs($_->[0] - $_->[1]) } X(\@arr1, \@arr2)); \ No newline at end of file diff --git a/challenge-338/jaldhar-h-vyas/raku/ch-1.sh b/challenge-338/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..8fe11a6187 --- /dev/null +++ b/challenge-338/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '@*ARGS.map({$_.split(q{,}).sum}).max.say' "$@" \ No newline at end of file diff --git a/challenge-338/jaldhar-h-vyas/raku/ch-2.sh b/challenge-338/jaldhar-h-vyas/raku/ch-2.sh new file mode 100755 index 0000000000..5ee0c36933 --- /dev/null +++ b/challenge-338/jaldhar-h-vyas/raku/ch-2.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '(@*ARGS[0].split(q{,})X@*ARGS[1].split(q{,})).map({($_[0]-$_[1]).abs}).max.say' "$@" \ No newline at end of file -- cgit