aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordeadmarshal <adeadmarshal@gmail.com>2024-01-29 00:06:56 -0500
committerdeadmarshal <adeadmarshal@gmail.com>2024-01-29 00:06:56 -0500
commitfe82251da122437cc4cbc4d5fc14023611ffca68 (patch)
treebcccbd22590b95e0e50c51b7e93c5bb2f4869b97
parentc13d4891bfaede87ed0689441bf47e15fe1e880e (diff)
downloadperlweeklychallenge-club-fe82251da122437cc4cbc4d5fc14023611ffca68.tar.gz
perlweeklychallenge-club-fe82251da122437cc4cbc4d5fc14023611ffca68.tar.bz2
perlweeklychallenge-club-fe82251da122437cc4cbc4d5fc14023611ffca68.zip
TWC253
-rw-r--r--challenge-253/deadmarshal/blog.txt1
-rw-r--r--challenge-253/deadmarshal/perl/ch1.pl13
-rw-r--r--challenge-253/deadmarshal/perl/ch2.pl22
3 files changed, 36 insertions, 0 deletions
diff --git a/challenge-253/deadmarshal/blog.txt b/challenge-253/deadmarshal/blog.txt
new file mode 100644
index 0000000000..9f134f1c36
--- /dev/null
+++ b/challenge-253/deadmarshal/blog.txt
@@ -0,0 +1 @@
+https://deadmarshal.blogspot.com/2024/01/twc253.html
diff --git a/challenge-253/deadmarshal/perl/ch1.pl b/challenge-253/deadmarshal/perl/ch1.pl
new file mode 100644
index 0000000000..2d4c293fb3
--- /dev/null
+++ b/challenge-253/deadmarshal/perl/ch1.pl
@@ -0,0 +1,13 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Data::Show;
+
+sub split_strings{
+ my ($arr,$sep) = @_;
+ grep {length} map{split /\Q$sep\E/} @$arr
+}
+
+print show split_strings(['one.two.three','four.five','six'],'.');
+print show split_strings(['$perl$$', '$$raku$'],'$');
+
diff --git a/challenge-253/deadmarshal/perl/ch2.pl b/challenge-253/deadmarshal/perl/ch2.pl
new file mode 100644
index 0000000000..768ea21785
--- /dev/null
+++ b/challenge-253/deadmarshal/perl/ch2.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Data::Show;
+use List::Util qw(sum0);
+
+sub weakest_row{
+ my ($mat) = @_;
+ sort{sum0(@{$$mat[$a]}) <=> sum0(@{$$mat[$b]}) || $a <=> $b}
+ 0..$#$mat
+}
+
+print show weakest_row([[1,1,0,0,0],
+ [1,1,1,1,0],
+ [1,0,0,0,0],
+ [1,1,0,0,0],
+ [1,1,1,1,1]]);
+print show weakest_row([[1,0,0,0],
+ [1,1,1,1],
+ [1,0,0,0],
+ [1,0,0,0]]);
+