diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-12-19 10:10:43 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-12-19 10:10:43 +0100 |
| commit | f8e4d9c51244dbc1c7bdcfc95977493a3e5f9ce0 (patch) | |
| tree | 5c95dcb3e296906d3c5e984bd05283745ac73069 /challenge-196 | |
| parent | 5062b75e8b1cd965b5f6f80f4edac8b6e4121cf1 (diff) | |
| download | perlweeklychallenge-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.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; +} |
