diff options
| -rw-r--r-- | challenge-196/luca-ferrari/raku/ch-2.p6 | 22 |
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; +} |
