diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2023-05-16 11:52:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-05-16 11:52:26 +0100 |
| commit | 51f4b5555c7c792a9a38b177260b08fc0fb00bae (patch) | |
| tree | 2c7102d118d8e88bdbf322753e20f24fc13710e5 | |
| parent | 2c1bcc0ab979fa1d961919dc782cdcc322d7ed63 (diff) | |
| parent | 2b5536c527eff3efef9f1e0815dac18b32ad517f (diff) | |
| download | perlweeklychallenge-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-x | challenge-217/perlboy1967/perl/ch1.pl | 56 | ||||
| -rwxr-xr-x | challenge-217/perlboy1967/perl/ch2.pl | 35 |
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; |
