diff options
| -rw-r--r-- | challenge-204/luca-ferrari/raku/ch-2.p6 | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-204/luca-ferrari/raku/ch-2.p6 b/challenge-204/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..652ef3e1ec --- /dev/null +++ b/challenge-204/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,32 @@ +#!raku + +# +# Perl Weekly Challenge 204 +# Task 2 +# +# See <https://perlweeklychallenge.org/blog/perl-weekly-challenge-204/> +# + +# raku raku/ch-2.p6 -r=3 -c=2 "1 2 3" "4 5 6" +# [[1 2] [3 4] [5 6]] + +sub MAIN( Int :$r, Int :$c, *@matrix ) { + my @M = @matrix.map: { $_.split( ' ' ) }; + + # if cannot reshape, exit + '0'.say and exit if ( $r * $c ) < ( @M.elems * @M[ 0 ].elems ); + + my @N; + my @new-row; + for @M -> $row { + + for 0 ..^ $row.elems { + @new-row.push: $row[ $_ ] if ( @new-row.elems < $c ); + @N.push: [ @new-row ] if ( @new-row.elems == $c ); + @new-row = () if ( @new-row.elems == $c ); + + } + } +v + @N.join( "\n" ).say; +} |
