diff options
| author | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-03-02 22:17:22 +0100 |
|---|---|---|
| committer | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-03-02 22:17:22 +0100 |
| commit | 8124d3d8cd88501e24286220ffdfc8eda30c1404 (patch) | |
| tree | dfb503420556f5ac3241c8db886c8a699b52a1c1 /challenge-050 | |
| parent | 06746227c29f63dd3b5e58b260aa1fa919adc2e6 (diff) | |
| download | perlweeklychallenge-club-8124d3d8cd88501e24286220ffdfc8eda30c1404.tar.gz perlweeklychallenge-club-8124d3d8cd88501e24286220ffdfc8eda30c1404.tar.bz2 perlweeklychallenge-club-8124d3d8cd88501e24286220ffdfc8eda30c1404.zip | |
small improvements
Diffstat (limited to 'challenge-050')
| -rw-r--r-- | challenge-050/markus-holzer/raku/ch-1.p6 | 9 | ||||
| -rw-r--r-- | challenge-050/markus-holzer/raku/ch-2.p6 | 11 |
2 files changed, 12 insertions, 8 deletions
diff --git a/challenge-050/markus-holzer/raku/ch-1.p6 b/challenge-050/markus-holzer/raku/ch-1.p6 index 6904852340..1addb44f86 100644 --- a/challenge-050/markus-holzer/raku/ch-1.p6 +++ b/challenge-050/markus-holzer/raku/ch-1.p6 @@ -1,3 +1,8 @@ +sub merge-flat( *@values where @values.elems %% 2 ) +{ + merge( |@values.batch(2) ); +} + sub merge( **@tupel ) { my $current = @tupel.first; @@ -17,4 +22,6 @@ sub merge( **@tupel ) } } -dd merge( [2, 7], [3, 9], [10, 12], [15, 19], [18, 22] );
\ No newline at end of file +dd merge( [2, 7], [3, 9], [10, 12], [15, 19], [18, 22] ); +dd merge-flat( 2, 7, 6, 11, 10, 17, 15, 19, 18, 27 ); +dd merge( [1, 2], [3, 4], [5, 6] );
\ No newline at end of file diff --git a/challenge-050/markus-holzer/raku/ch-2.p6 b/challenge-050/markus-holzer/raku/ch-2.p6 index 7919724abc..9fc3d71e46 100644 --- a/challenge-050/markus-holzer/raku/ch-2.p6 +++ b/challenge-050/markus-holzer/raku/ch-2.p6 @@ -1,15 +1,12 @@ sub noble( @n ) { - my Int $n = ( @n = @n.sort ).elems; - - ( 0..^$n ) - .grep({ - @n[ $^i ] == $n - $^i - 1 }) - .map({ - @n[ $^i ] }); + my $n = ( @n = @n.sort ).end; + my $i = ( 0..$n ).first({ @n[ $^i ] == $n - $^i }); + try @n[ $i ]; # $i can be Nil } say noble( [2, 4, 0, 3] ); say noble( [1, 4, 5, 6, 7, 8] ); say noble( [2, 2, 0, 3] ); say noble( [-1, 0] ); +say noble( (1..60).roll(120).Array ); |
