aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-04-15 18:47:11 +0100
committerGitHub <noreply@github.com>2025-04-15 18:47:11 +0100
commit86e48981d1b0a05b91053bf39f62bd0cc49d3773 (patch)
tree512b71611f36e8e76097851d966ccc59e293d7c2
parent58965906225bb113cda376dcecd749f01e0683c7 (diff)
parent3a976b80a271bf32b482cd59461005a50cf569fa (diff)
downloadperlweeklychallenge-club-86e48981d1b0a05b91053bf39f62bd0cc49d3773.tar.gz
perlweeklychallenge-club-86e48981d1b0a05b91053bf39f62bd0cc49d3773.tar.bz2
perlweeklychallenge-club-86e48981d1b0a05b91053bf39f62bd0cc49d3773.zip
Merge pull request #11883 from jaldhar/challenge-314
Challenge 314 by Jaldhar H. Vyas.
-rw-r--r--challenge-314/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-314/jaldhar-h-vyas/perl/ch-1.pl28
-rwxr-xr-xchallenge-314/jaldhar-h-vyas/perl/ch-2.pl13
-rwxr-xr-xchallenge-314/jaldhar-h-vyas/raku/ch-1.raku30
-rwxr-xr-xchallenge-314/jaldhar-h-vyas/raku/ch-2.raku11
5 files changed, 83 insertions, 0 deletions
diff --git a/challenge-314/jaldhar-h-vyas/blog.txt b/challenge-314/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..c341ae33d8
--- /dev/null
+++ b/challenge-314/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2025/04/perl_weekly_challenge_week_314.html
diff --git a/challenge-314/jaldhar-h-vyas/perl/ch-1.pl b/challenge-314/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..16bea686b7
--- /dev/null
+++ b/challenge-314/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,28 @@
+#!/usr/bin/perl
+use v5.38;
+use builtin qw/ true /;
+no warnings qw/ experimental::builtin /;
+
+my ($s1, $s2, $s3) = @ARGV;
+my $ops = 0;
+my @strs = ($s1, $s2, $s3);
+
+while (true) {
+ if (grep { length($_) == 0 } @strs) {
+ say -1;
+ last;
+ }
+
+ if ($strs[0] eq $strs[1] && $strs[1] eq $strs[2]) {
+ say $ops;
+ last;
+ }
+
+ my $maxlen = (sort { $b <=> $a } map { length($_) } @strs)[0];
+ for my $i (keys @strs) {
+ if (length($strs[$i]) == $maxlen) {
+ $strs[$i] = substr($strs[$i], 0, -1);
+ $ops++;
+ }
+ }
+}
diff --git a/challenge-314/jaldhar-h-vyas/perl/ch-2.pl b/challenge-314/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..f8db48dd6f
--- /dev/null
+++ b/challenge-314/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/perl
+use v5.38;
+
+my @list = map { [split //, $_] } @ARGV;
+my @cols;
+
+for my $row (keys @list) {
+ for my $col (keys @{$list[$row]}) {
+ $cols[$col] .= $list[$row]->[$col];
+ }
+}
+
+say scalar grep { $_ ne join q{}, sort split //, $_ } @cols;
diff --git a/challenge-314/jaldhar-h-vyas/raku/ch-1.raku b/challenge-314/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..f1419c2eba
--- /dev/null
+++ b/challenge-314/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,30 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ $s1,
+ $s2,
+ $s3
+) {
+ my $ops = 0;
+ my @strs = ($s1, $s2, $s3);
+
+ loop {
+ if @strs.map({ $_.chars }).any == 0 {
+ say -1;
+ last;
+ }
+
+ if [eq] @strs {
+ say $ops;
+ last;
+ }
+
+ my $maxlen = @strs.map({ $_.chars }).max;
+ for @strs.keys -> $i {
+ if @strs[$i].chars == $maxlen {
+ @strs[$i] = @strs[$i].substr(0, *-1);
+ $ops++;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/challenge-314/jaldhar-h-vyas/raku/ch-2.raku b/challenge-314/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..ce0565e183
--- /dev/null
+++ b/challenge-314/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,11 @@
+#!/usr/bin/raku
+
+sub MAIN(
+ *@list
+) {
+ my @table = @list.map({ $_.comb.List });
+ say @table[0]
+ .keys
+ .grep({ @table[*;$_].join ne @table[*;$_].sort.join })
+ .elems;
+}