aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-01-12 22:23:10 +0000
committerGitHub <noreply@github.com>2020-01-12 22:23:10 +0000
commitb7b53a2df1ad86287170ec79f078e1bfc2646707 (patch)
treeef65518e3bb589d4e6116190efcb07c369553fcf
parent2fe2152b16e615548c59bd470500f56c87c34496 (diff)
parent55d1cc9cc5dadffb1d9ea35d4dd07d7d6fdef4db (diff)
downloadperlweeklychallenge-club-b7b53a2df1ad86287170ec79f078e1bfc2646707.tar.gz
perlweeklychallenge-club-b7b53a2df1ad86287170ec79f078e1bfc2646707.tar.bz2
perlweeklychallenge-club-b7b53a2df1ad86287170ec79f078e1bfc2646707.zip
Merge pull request #1129 from jaldhar/challenge-042
Challenge 42 by Jaldhar H. Vyas
-rw-r--r--challenge-042/jaldhar-h-vyas/blog.txt1
-rwxr-xr-xchallenge-042/jaldhar-h-vyas/perl/ch-1.sh1
-rwxr-xr-xchallenge-042/jaldhar-h-vyas/perl/ch-2.pl34
-rwxr-xr-xchallenge-042/jaldhar-h-vyas/raku/ch-1.sh1
-rwxr-xr-xchallenge-042/jaldhar-h-vyas/raku/ch-2.p628
5 files changed, 65 insertions, 0 deletions
diff --git a/challenge-042/jaldhar-h-vyas/blog.txt b/challenge-042/jaldhar-h-vyas/blog.txt
new file mode 100644
index 0000000000..a7ac958da0
--- /dev/null
+++ b/challenge-042/jaldhar-h-vyas/blog.txt
@@ -0,0 +1 @@
+https://www.braincells.com/perl/2020/01/perl_weekly_challenge_week_42.html
diff --git a/challenge-042/jaldhar-h-vyas/perl/ch-1.sh b/challenge-042/jaldhar-h-vyas/perl/ch-1.sh
new file mode 100755
index 0000000000..8b9297ffe7
--- /dev/null
+++ b/challenge-042/jaldhar-h-vyas/perl/ch-1.sh
@@ -0,0 +1 @@
+perl -e 'map { printf "Decimal %d = Octal %o\n", $_, $_ } (0 .. 50);'
diff --git a/challenge-042/jaldhar-h-vyas/perl/ch-2.pl b/challenge-042/jaldhar-h-vyas/perl/ch-2.pl
new file mode 100755
index 0000000000..230927d009
--- /dev/null
+++ b/challenge-042/jaldhar-h-vyas/perl/ch-2.pl
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+use warnings;
+use strict;
+use 5.010;
+
+sub isBalanced {
+ my ($brackets) = @_;
+ my @stack;
+
+ map {
+ if ( $brackets->[$_] eq '(' ) {
+ push @stack, '(';
+ } else {
+ if (!scalar @stack) {
+ return undef;
+ }
+ pop @stack;
+ }
+ } (0 .. scalar @{$brackets} - 1);
+
+ return scalar @stack == 0;
+}
+
+my @brackets;
+
+for (1 .. ((int rand 3) + 1) * 2) {
+ push @brackets, (int rand 2 ? '(' : ')');
+}
+
+printf "%s - %s%s\n",
+ (join q{}, @brackets),
+ isBalanced(\@brackets) ? q{} : 'NOT ',
+ 'OK';
+
diff --git a/challenge-042/jaldhar-h-vyas/raku/ch-1.sh b/challenge-042/jaldhar-h-vyas/raku/ch-1.sh
new file mode 100755
index 0000000000..44e0cb3857
--- /dev/null
+++ b/challenge-042/jaldhar-h-vyas/raku/ch-1.sh
@@ -0,0 +1 @@
+perl6 -e '[0 .. 50].map({ printf("Deciamal %d = Octal %o\n", $_, $_) });'
diff --git a/challenge-042/jaldhar-h-vyas/raku/ch-2.p6 b/challenge-042/jaldhar-h-vyas/raku/ch-2.p6
new file mode 100755
index 0000000000..a14a81df70
--- /dev/null
+++ b/challenge-042/jaldhar-h-vyas/raku/ch-2.p6
@@ -0,0 +1,28 @@
+#!/usr/bin/perl6
+
+sub isBalanced(@brackets) {
+ my @stack;
+
+ (0 ..^ @brackets.elems).map({
+ if @brackets[$_] ~~ '(' {
+ @stack.push( '(' );
+ } else {
+ if !@stack.elems {
+ return False;
+ }
+ @stack.pop;
+ }
+ });
+
+ return @stack.elems == 0;
+}
+
+multi sub MAIN() {
+ my @brackets;
+
+ for 1 .. (2, 4, 6).pick {
+ @brackets.push(Bool.pick ?? '(' !! ')');
+ }
+
+ say @brackets.join, ' - ', (isBalanced(@brackets) ?? q{} !! 'NOT '), 'OK';
+}