aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2023-05-16 11:52:26 +0100
committerGitHub <noreply@github.com>2023-05-16 11:52:26 +0100
commit51f4b5555c7c792a9a38b177260b08fc0fb00bae (patch)
tree2c7102d118d8e88bdbf322753e20f24fc13710e5
parent2c1bcc0ab979fa1d961919dc782cdcc322d7ed63 (diff)
parent2b5536c527eff3efef9f1e0815dac18b32ad517f (diff)
downloadperlweeklychallenge-club-51f4b5555c7c792a9a38b177260b08fc0fb00bae.tar.gz
perlweeklychallenge-club-51f4b5555c7c792a9a38b177260b08fc0fb00bae.tar.bz2
perlweeklychallenge-club-51f4b5555c7c792a9a38b177260b08fc0fb00bae.zip
Merge pull request #8077 from PerlBoy1967/branch-for-challenge-217
w217 - Task 1 & 2
-rwxr-xr-xchallenge-217/perlboy1967/perl/ch1.pl56
-rwxr-xr-xchallenge-217/perlboy1967/perl/ch2.pl35
2 files changed, 91 insertions, 0 deletions
diff --git a/challenge-217/perlboy1967/perl/ch1.pl b/challenge-217/perlboy1967/perl/ch1.pl
new file mode 100755
index 0000000000..5de8809b9b
--- /dev/null
+++ b/challenge-217/perlboy1967/perl/ch1.pl
@@ -0,0 +1,56 @@
+#!/bin/perl
+
+=pod
+
+The Weekly Challenge - 217
+- https://theweeklychallenge.org/blog/perl-weekly-challenge-217
+
+Author: Niels 'PerlBoy' van Dijke
+
+Task 1: Sorted Matrix
+Submitted by: Mohammad S Anwar
+
+You are given a n x n matrix where n >= 2.
+
+Write a script to find 3rd smallest element in the sorted matrix.
+
+=cut
+
+use v5.16;
+
+use common::sense;
+
+use List::MoreUtils qw(arrayify);
+
+use Test::More;
+
+sub nthElement ($\@) {
+ (sort{$a<=>$b}arrayify($_[1]))[$_[0]-1];
+}
+
+is(nthElement(3,@{[
+ [3,1,2],
+ [5,2,4],
+ [0,1,3],
+ ]}),1);
+is(nthElement(3,@{[
+ [2,1],
+ [4,5],
+ ]}),4);
+is(nthElement(3,@{[
+ [1,0,3],
+ [0,0,0],
+ [1,2,1],
+ ]}),0);
+is(nthElement(4,@{[
+ [3,1,2],
+ [5,2,4],
+ [0,1,3],
+ ]}),2);
+is(nthElement(12,@{[
+ [[0,1,2],[3,4,5],[6,7,8]],
+ [[0,0,0],[0,0,0],[0,0,0]],
+ [[8,7,6],[5,4,3],[2,1,0]],
+ ]}),1);
+
+done_testing;
diff --git a/challenge-217/perlboy1967/perl/ch2.pl b/challenge-217/perlboy1967/perl/ch2.pl
new file mode 100755
index 0000000000..60d238fdf7
--- /dev/null
+++ b/challenge-217/perlboy1967/perl/ch2.pl
@@ -0,0 +1,35 @@
+#!/bin/perl
+
+=pod
+
+The Weekly Challenge - 217
+- https://theweeklychallenge.org/blog/perl-weekly-challenge-217
+
+Author: Niels 'PerlBoy' van Dijke
+
+Task 2: Max Number
+Submitted by: Mohammad S Anwar
+
+You are given a list of positive integers.
+
+Write a script to concatenate the integers to form the highest possible value.
+
+=cut
+
+use v5.16;
+
+use common::sense;
+
+use Test::More;
+
+sub maxNumber (@) {
+ join('',sort{$b.$a<=>$a.$b}@_);
+}
+
+is(maxNumber(1,23),231);
+is(maxNumber(10,3,2),3210);
+is(maxNumber(31,2,4,10),431210);
+is(maxNumber(5,11,4,1,2),542111);
+is(maxNumber(1,10),110);
+
+done_testing;