aboutsummaryrefslogtreecommitdiff
path: root/challenge-100
diff options
context:
space:
mode:
authorJaldhar H. Vyas <jaldhar@braincells.com>2021-02-20 23:12:22 -0500
committerJaldhar H. Vyas <jaldhar@braincells.com>2021-02-20 23:12:22 -0500
commitd4a7e047c6731d5ca09cba8e3d61b20765bde807 (patch)
tree240a40a5cf068c3756d4415e0382481f77001b7e /challenge-100
parent0617dd595c13afcdf7e30ab9525b6b52ebea8284 (diff)
downloadperlweeklychallenge-club-d4a7e047c6731d5ca09cba8e3d61b20765bde807.tar.gz
perlweeklychallenge-club-d4a7e047c6731d5ca09cba8e3d61b20765bde807.tar.bz2
perlweeklychallenge-club-d4a7e047c6731d5ca09cba8e3d61b20765bde807.zip
Challenge 100 by Jaldhar H. Vyas
Diffstat (limited to 'challenge-100')
-rw-r--r--challenge-100/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-100/jaldhar-h-vyas/perl/ch-1.pl2
-rwxr-xr-xchallenge-100/jaldhar-h-vyas/perl/ch-2.pl20
-rwxr-xr-xchallenge-100/jaldhar-h-vyas/raku/ch-1.raku2
-rwxr-xr-xchallenge-100/jaldhar-h-vyas/raku/ch-2.raku21
5 files changed, 46 insertions, 0 deletions
diff --git a/challenge-100/jaldhar-h-vyas/blog.txt b/challenge-100/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..d33f9e15e2
--- /dev/null
+++ b/challenge-100/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2021/02/perl_weekly_challenge_week_100.html
diff --git a/challenge-100/jaldhar-h-vyas/perl/ch-1.pl b/challenge-100/jaldhar-h-vyas/perl/ch-1.pl
new file mode 100755
index 0000000000..51905f5faa
--- /dev/null
+++ b/challenge-100/jaldhar-h-vyas/perl/ch-1.pl
@@ -0,0 +1,2 @@
+#!/usr/bin/perl
+($h,$m,$a)=shift=~/\A\s*((?:2[0-4])|(?:1\d)|(?:0*\d))\:([0-5]*\d)\s*([ap]m)?\s*/i;($h==0)?($h=12and$a=q{am}):($h==12)?($a=($a)?$a:q{pm}):($h>12)?($h-=12and$a=q{pm}):($a&&$a=~/pm/i)?($h+=12and$a=q{}):($a=q{});printf qq{%02d:%02d %s\n},$h,$m,$a; \ No newline at end of file
diff --git a/challenge-100/jaldhar-h-vyas/perl/ch-2.pl b/challenge-100/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..c87b74aece
--- /dev/null
+++ b/challenge-100/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,20 @@
+#!/usr/bin/perl
+use 5.020;
+use warnings;
+
+my ($input) = @ARGV;
+
+my @levels = @{ eval $input };
+my $count = 0;
+my $i = 0;
+
+for my $level (@levels) {
+ if ($level->[$i] < ($level->[$i + 1] // 'inf')) {
+ $count += $level->[$i];
+ } else {
+ $count += $level->[$i + 1];
+ $i = $i + 1;
+ }
+}
+
+say $count; \ No newline at end of file
diff --git a/challenge-100/jaldhar-h-vyas/raku/ch-1.raku b/challenge-100/jaldhar-h-vyas/raku/ch-1.raku
new file mode 100755
index 0000000000..73cdc87e9a
--- /dev/null
+++ b/challenge-100/jaldhar-h-vyas/raku/ch-1.raku
@@ -0,0 +1,2 @@
+#!/usr/bin/raku
+my ($h,$m,$a) = @*ARGS[0].match(/^\s*(2<[0..4]>||1\d||0*\d)\:(<[0..5]>*\d)\s*(<[ap]>m)?\s*/,:i).list;($h==0)??($h=12 and $a=q{am})!!($h==12)??($a=($a)??$a!!q{pm})!!($h>12)??($h-=12 and $a=q{pm})!!($a&&$a~~m:i/pm/)??($h+=12 and $a=q{})!!($a=q{});printf qq{%02d:%02d %s\n},$h,$m,$a; \ No newline at end of file
diff --git a/challenge-100/jaldhar-h-vyas/raku/ch-2.raku b/challenge-100/jaldhar-h-vyas/raku/ch-2.raku
new file mode 100755
index 0000000000..a28a89a9a9
--- /dev/null
+++ b/challenge-100/jaldhar-h-vyas/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/raku
+use MONKEY-SEE-NO-EVAL;
+
+sub MAIN(
+ Str $input #= a representation of a triangle array as nested arrays
+) {
+ my @levels = EVAL $input;
+ my $count = 0;
+ my $i = 0;
+
+ for @levels -> @level {
+ if @level[$i] < (@level[$i + 1] // ∞) {
+ $count += @level[$i];
+ } else {
+ $count += @level[$i + 1];
+ $i = $i + 1;
+ }
+ }
+
+ say $count;
+} \ No newline at end of file