aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2025-11-08 14:23:53 +0100
committerLuca Ferrari <fluca1978@gmail.com>2025-11-08 14:24:52 +0100
commitdc3a062a8fe5eba821343cf78693d7dbffbbeb40 (patch)
tree61f95f2bce8f86ea2b662a2781b130e16dfe05f2
parentd6d9df839741d01f80758e2acc9e6cc83ad5336a (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-346/luca-ferrari/raku/ch-1.raku34
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;
+}