diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-01-07 13:37:01 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-07 13:37:01 +0000 |
| commit | d63fb9e97d313400b70d2af37197dde0dd248d65 (patch) | |
| tree | 3dd6856261a9825eb9ff18317960e5b31c2b2260 | |
| parent | 1c20651191d250bf7be73f1f8e3ed32cc31c1392 (diff) | |
| parent | b2608ea1ef5277e747eb556baf7728e1d339cad2 (diff) | |
| download | perlweeklychallenge-club-d63fb9e97d313400b70d2af37197dde0dd248d65.tar.gz perlweeklychallenge-club-d63fb9e97d313400b70d2af37197dde0dd248d65.tar.bz2 perlweeklychallenge-club-d63fb9e97d313400b70d2af37197dde0dd248d65.zip | |
Merge pull request #1114 from waltman/branch-for-challenge-042
Branch for challenge 042
| -rw-r--r-- | challenge-042/walt-mankowski/perl5/ch-1.pl | 5 | ||||
| -rw-r--r-- | challenge-042/walt-mankowski/perl5/ch-2.pl | 27 |
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-042/walt-mankowski/perl5/ch-1.pl b/challenge-042/walt-mankowski/perl5/ch-1.pl new file mode 100644 index 0000000000..28ba8c4459 --- /dev/null +++ b/challenge-042/walt-mankowski/perl5/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/perl5/ch-2.pl b/challenge-042/walt-mankowski/perl5/ch-2.pl new file mode 100644 index 0000000000..04d4222e3e --- /dev/null +++ b/challenge-042/walt-mankowski/perl5/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"; +} |
