diff options
| author | Noud Aldenhoven <noud.aldenhoven@gmail.com> | 2020-01-10 21:02:16 +0100 |
|---|---|---|
| committer | Noud Aldenhoven <noud.aldenhoven@gmail.com> | 2020-01-10 21:02:16 +0100 |
| commit | a8e7f1878d5f01fd933d0ea4a83b1226a56c747a (patch) | |
| tree | d8d773e96bc924737e37429949f4bf796f4f894e | |
| parent | f8eddf72529bf1a90f4eaa38c884e4a119e2ae3e (diff) | |
| download | perlweeklychallenge-club-a8e7f1878d5f01fd933d0ea4a83b1226a56c747a.tar.gz perlweeklychallenge-club-a8e7f1878d5f01fd933d0ea4a83b1226a56c747a.tar.bz2 perlweeklychallenge-club-a8e7f1878d5f01fd933d0ea4a83b1226a56c747a.zip | |
Some small improvements in the balance subroutine
| -rw-r--r-- | challenge-042/noud/perl6/ch-2.p6 | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/challenge-042/noud/perl6/ch-2.p6 b/challenge-042/noud/perl6/ch-2.p6 index 9ca88a51af..59415fbd69 100644 --- a/challenge-042/noud/perl6/ch-2.p6 +++ b/challenge-042/noud/perl6/ch-2.p6 @@ -24,10 +24,7 @@ sub balanced($brackets) { for $brackets.comb() -> $b { if ($b === '(') { $c++; - } else { - $c--; - } - if ($c < 0) { + } elsif (--$c < 0) { return False; } } @@ -35,9 +32,14 @@ sub balanced($brackets) { return $c == 0; } +say "() - " ~ balanced("()"); +say "(()) - " ~ balanced("(())"); +say ")( - " ~ balanced(")("); +say "())() - " ~ balanced("())()"); + my $brackets = ''; -for 1..10 -> $i { +for 1..20 -> $i { # Only generate bracket strings of length 4, because with higher lengths # the randomly generated strings rarely are balanced. $brackets = rand_brackets(4); |
