diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2025-11-08 14:23:53 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2025-11-08 14:24:52 +0100 |
| commit | dc3a062a8fe5eba821343cf78693d7dbffbbeb40 (patch) | |
| tree | 61f95f2bce8f86ea2b662a2781b130e16dfe05f2 | |
| parent | d6d9df839741d01f80758e2acc9e6cc83ad5336a (diff) | |
| download | perlweeklychallenge-club-dc3a062a8fe5eba821343cf78693d7dbffbbeb40.tar.gz perlweeklychallenge-club-dc3a062a8fe5eba821343cf78693d7dbffbbeb40.tar.bz2 perlweeklychallenge-club-dc3a062a8fe5eba821343cf78693d7dbffbbeb40.zip | |
PWC 346
Task1 Raku done
| -rw-r--r-- | challenge-346/luca-ferrari/blog-1.txt | 1 | ||||
| -rw-r--r-- | challenge-346/luca-ferrari/raku/ch-1.raku | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/challenge-346/luca-ferrari/blog-1.txt b/challenge-346/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..352527a8bf --- /dev/null +++ b/challenge-346/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2025/11/06/PerlWeeklyChallenge346.html#task1 diff --git a/challenge-346/luca-ferrari/raku/ch-1.raku b/challenge-346/luca-ferrari/raku/ch-1.raku new file mode 100644 index 0000000000..1c2de669b9 --- /dev/null +++ b/challenge-346/luca-ferrari/raku/ch-1.raku @@ -0,0 +1,34 @@ +#!raku + +# +# Perl Weekly Challenge 346 +# Task 1 +# +# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-346> +# + +sub MAIN( Str $string ) { + my @chars = $string.comb; + my %positions; + my $level = 0; + for 0 ..^ @chars.elems { + if ( @chars[ $_ ] ~~ '(' ) { + %positions{ $level }<start> = $_; + $level++; + } + elsif ( @chars[ $_ ] ~~ ')' ) { + $level--; + %positions{ $level }<end> = $_; + + } + } + + # now get the max pair + my $max-length = 0; + for %positions.keys { + my $current = %positions{ $_ }<end> - %positions{ $_ }<start>; + $max-length = $current if ( $current > $max-length ); + } + + $max-length.say; +} |
