aboutsummaryrefslogtreecommitdiff
path: root/challenge-225
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2023-07-17 01:11:10 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2023-07-17 01:11:10 +0100
commit217c46cf1c92edb338729751e5417a8a69bca210 (patch)
treecc5dccbaa86114b164143b426744fd645c824483 /challenge-225
parent5d5c27d416a7773e65844413669c6315d153d205 (diff)
downloadperlweeklychallenge-club-217c46cf1c92edb338729751e5417a8a69bca210.tar.gz
perlweeklychallenge-club-217c46cf1c92edb338729751e5417a8a69bca210.tar.bz2
perlweeklychallenge-club-217c46cf1c92edb338729751e5417a8a69bca210.zip
- Added solutions by Flavio Poletti.
Diffstat (limited to 'challenge-225')
-rw-r--r--challenge-225/polettix/blog.txt1
-rw-r--r--challenge-225/polettix/blog1.txt1
-rw-r--r--challenge-225/polettix/perl/ch-1.pl4
-rw-r--r--challenge-225/polettix/perl/ch-2.pl21
-rw-r--r--challenge-225/polettix/raku/ch-1.raku3
-rw-r--r--challenge-225/polettix/raku/ch-2.raku17
6 files changed, 47 insertions, 0 deletions
diff --git a/challenge-225/polettix/blog.txt b/challenge-225/polettix/blog.txt
new file mode 100644
index 0000000000..7952545972
--- /dev/null
+++ b/challenge-225/polettix/blog.txt
@@ -0,0 +1 @@
+https://github.polettix.it/ETOOBUSY/2023/07/13/pwc225-max-words/
diff --git a/challenge-225/polettix/blog1.txt b/challenge-225/polettix/blog1.txt
new file mode 100644
index 0000000000..24aab927c2
--- /dev/null
+++ b/challenge-225/polettix/blog1.txt
@@ -0,0 +1 @@
+https://github.polettix.it/ETOOBUSY/2023/07/14/pwc225-left-right-sum-diff/
diff --git a/challenge-225/polettix/perl/ch-1.pl b/challenge-225/polettix/perl/ch-1.pl
new file mode 100644
index 0000000000..dc6609f472
--- /dev/null
+++ b/challenge-225/polettix/perl/ch-1.pl
@@ -0,0 +1,4 @@
+#!/usr/bin/env perl
+use v5.24;
+use List::Util 'max';
+say max map { scalar(split m{\s+}mxs) } @ARGV;
diff --git a/challenge-225/polettix/perl/ch-2.pl b/challenge-225/polettix/perl/ch-2.pl
new file mode 100644
index 0000000000..bf7057ea31
--- /dev/null
+++ b/challenge-225/polettix/perl/ch-2.pl
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl
+use v5.24;
+use warnings;
+use experimental 'signatures';
+
+{ local $" = ', '; say "(@{[ left_right_sum_diff(@ARGV) ]})" }
+
+sub left_right_sum_diff (@input) {
+ my $sum = 0;
+ my @retval;
+ for my $i (0 .. $#input) {
+ push @retval, $sum;
+ $sum += $input[$i];
+ }
+ for my $i (0 .. $#input) {
+ $sum -= $input[$i];
+ my $diff = $retval[$i] - $sum;
+ $retval[$i] = $diff > 0 ? $diff : -$diff;
+ }
+ return @retval;
+}
diff --git a/challenge-225/polettix/raku/ch-1.raku b/challenge-225/polettix/raku/ch-1.raku
new file mode 100644
index 0000000000..1f9ed9894c
--- /dev/null
+++ b/challenge-225/polettix/raku/ch-1.raku
@@ -0,0 +1,3 @@
+#!/usr/bin/env raku
+use v6;
+sub MAIN (*@sentences) { put @sentences».split(/\s+/)».elems.max }
diff --git a/challenge-225/polettix/raku/ch-2.raku b/challenge-225/polettix/raku/ch-2.raku
new file mode 100644
index 0000000000..45d3a7111d
--- /dev/null
+++ b/challenge-225/polettix/raku/ch-2.raku
@@ -0,0 +1,17 @@
+#!/usr/bin/env raku
+use v6;
+sub MAIN (*@inputs) { say left-right-sum-diff(@inputs) }
+
+sub left-right-sum-diff (@inputs) {
+ my $sum = 0;
+ my @retval;
+ for ^@inputs -> $i {
+ @retval.push: $sum;
+ $sum += @inputs[$i];
+ }
+ for ^@inputs -> $i {
+ $sum -= @inputs[$i];
+ @retval[$i] = abs(@retval[$i] - $sum);
+ }
+ return @retval;
+}