From 16a3e5047a4cdaf3965ee86b30ef9d6452cc46c6 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Tue, 7 Jan 2020 13:38:26 +0000 Subject: - Added solutions by Walt Mankowski. --- challenge-042/walt-mankowski/perl/ch-1.pl | 5 +++++ challenge-042/walt-mankowski/perl/ch-2.pl | 27 +++++++++++++++++++++++++++ challenge-042/walt-mankowski/perl5/ch-1.pl | 5 ----- challenge-042/walt-mankowski/perl5/ch-2.pl | 27 --------------------------- 4 files changed, 32 insertions(+), 32 deletions(-) create mode 100644 challenge-042/walt-mankowski/perl/ch-1.pl create mode 100644 challenge-042/walt-mankowski/perl/ch-2.pl delete mode 100644 challenge-042/walt-mankowski/perl5/ch-1.pl delete mode 100644 challenge-042/walt-mankowski/perl5/ch-2.pl (limited to 'challenge-042') diff --git a/challenge-042/walt-mankowski/perl/ch-1.pl b/challenge-042/walt-mankowski/perl/ch-1.pl new file mode 100644 index 0000000000..28ba8c4459 --- /dev/null +++ b/challenge-042/walt-mankowski/perl/ch-1.pl @@ -0,0 +1,5 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +printf "Decimal %d = Octal %o\n", $_, $_ for 0..50; diff --git a/challenge-042/walt-mankowski/perl/ch-2.pl b/challenge-042/walt-mankowski/perl/ch-2.pl new file mode 100644 index 0000000000..04d4222e3e --- /dev/null +++ b/challenge-042/walt-mankowski/perl/ch-2.pl @@ -0,0 +1,27 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use feature qw(:5.30); +use experimental qw(signatures); + +my $MAX_LEN = 10; + +# return a random string of parens of length $len +sub rand_str($len) { + return join '', map { rand(2) < 1 ? '(' : ')' } 1..$len; +} + +# return true if the parens are balanced, else false +sub balanced($s) { + my $cnt = 0; + for my $c (split //, $s) { + $cnt += $c eq '(' ? 1 : -1; + return 0 if $cnt < 0; # too many right parens + } + return $cnt == 0; +} + +for (1..100) { + my $rs = rand_str(int(rand($MAX_LEN)) + 1); + say $rs, balanced($rs) ? " - OK" : " - NOT OK"; +} diff --git a/challenge-042/walt-mankowski/perl5/ch-1.pl b/challenge-042/walt-mankowski/perl5/ch-1.pl deleted file mode 100644 index 28ba8c4459..0000000000 --- a/challenge-042/walt-mankowski/perl5/ch-1.pl +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; - -printf "Decimal %d = Octal %o\n", $_, $_ for 0..50; diff --git a/challenge-042/walt-mankowski/perl5/ch-2.pl b/challenge-042/walt-mankowski/perl5/ch-2.pl deleted file mode 100644 index 04d4222e3e..0000000000 --- a/challenge-042/walt-mankowski/perl5/ch-2.pl +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use feature qw(:5.30); -use experimental qw(signatures); - -my $MAX_LEN = 10; - -# return a random string of parens of length $len -sub rand_str($len) { - return join '', map { rand(2) < 1 ? '(' : ')' } 1..$len; -} - -# return true if the parens are balanced, else false -sub balanced($s) { - my $cnt = 0; - for my $c (split //, $s) { - $cnt += $c eq '(' ? 1 : -1; - return 0 if $cnt < 0; # too many right parens - } - return $cnt == 0; -} - -for (1..100) { - my $rs = rand_str(int(rand($MAX_LEN)) + 1); - say $rs, balanced($rs) ? " - OK" : " - NOT OK"; -} -- cgit