aboutsummaryrefslogtreecommitdiff
path: root/challenge-196
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-12-19 10:10:43 +0100
committerLuca Ferrari <fluca1978@gmail.com>2022-12-19 10:10:43 +0100
commitf8e4d9c51244dbc1c7bdcfc95977493a3e5f9ce0 (patch)
tree5c95dcb3e296906d3c5e984bd05283745ac73069 /challenge-196
parent5062b75e8b1cd965b5f6f80f4edac8b6e4121cf1 (diff)
downloadperlweeklychallenge-club-f8e4d9c51244dbc1c7bdcfc95977493a3e5f9ce0.tar.gz
perlweeklychallenge-club-f8e4d9c51244dbc1c7bdcfc95977493a3e5f9ce0.tar.bz2
perlweeklychallenge-club-f8e4d9c51244dbc1c7bdcfc95977493a3e5f9ce0.zip
Task 2 done
Diffstat (limited to 'challenge-196')
-rw-r--r--challenge-196/luca-ferrari/raku/ch-2.p622
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-196/luca-ferrari/raku/ch-2.p6 b/challenge-196/luca-ferrari/raku/ch-2.p6
new file mode 100644
index 0000000000..69289313d7
--- /dev/null
+++ b/challenge-196/luca-ferrari/raku/ch-2.p6
@@ -0,0 +1,22 @@
+#!raku
+
+# Perl Weekly Challenge 196
+
+sub MAIN( *@list where { @list.grep( * ~~ Int ).elems == @list.elems } ) {
+
+ my @ranges;
+ my $start = -1;
+ my $end = -1;
+ for 0 .. @list.elems {
+ next if ! $_;
+ next if $_ <= $end;
+
+ $start = $_;
+ $end = $start;
+
+ $end++ while ( $end < @list.elems && @list[ $end + 1 ] == @list[ $end ] + 1 );
+ @ranges.push: [ $start, $end ] if ( $start < $end );
+ }
+
+ @ranges.join( "\n" ).say;
+}