diff options
| -rw-r--r-- | challenge-197/luca-ferrari/raku/ch-2.p6 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/challenge-197/luca-ferrari/raku/ch-2.p6 b/challenge-197/luca-ferrari/raku/ch-2.p6 new file mode 100644 index 0000000000..050a1d9c1a --- /dev/null +++ b/challenge-197/luca-ferrari/raku/ch-2.p6 @@ -0,0 +1,38 @@ +#!raku + +# Perl Weekly Challenge 197 + +sub MAIN( *@list where { @list.grep( * ~~ Int ).elems == @list.elems } ) { + my @sorted = @list; + my $done = False; + + # list[0] < list[1] > list[2] < list[3]…. + while ( ! $done ) { + $done = True; + for 0 ..^ @sorted.elems - 1 -> $i { + if ( $i %% 2 ) { + if ( @sorted[ $i ] >= @sorted[ $i + 1 ] ) { + # need to change + my $temp = @sorted[ $i ]; + @sorted[ $i ] = @sorted[ $i + 1 ]; + @sorted[ $i + 1 ] = $temp; + $done = False; + } + } + else { + if ( @sorted[ $i ] <= @sorted[ $i + 1 ] ) { + # need to change + my $temp = @sorted[ $i ]; + @sorted[ $i ] = @sorted[ $i + 1 ]; + @sorted[ $i + 1 ] = $temp; + $done = False; + + } + } + + } + } + + @list.join( ',' ).say; + @sorted.join(',').say; +} |
