diff options
| author | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-09-15 00:32:29 +0200 |
|---|---|---|
| committer | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-09-15 00:32:29 +0200 |
| commit | eea5c8d543e2e86378f538eef51cd1f53cbf4aa7 (patch) | |
| tree | 13d1387304f1b4eb855f01e15cc3d78cc6ab42e6 /challenge-078 | |
| parent | d7ff198a67fcfab4198c726bd418b84d48f721b4 (diff) | |
| download | perlweeklychallenge-club-eea5c8d543e2e86378f538eef51cd1f53cbf4aa7.tar.gz perlweeklychallenge-club-eea5c8d543e2e86378f538eef51cd1f53cbf4aa7.tar.bz2 perlweeklychallenge-club-eea5c8d543e2e86378f538eef51cd1f53cbf4aa7.zip | |
initial
Diffstat (limited to 'challenge-078')
| -rw-r--r-- | challenge-078/markus-holzer/raku/ch-1.raku | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/challenge-078/markus-holzer/raku/ch-1.raku b/challenge-078/markus-holzer/raku/ch-1.raku index 63b575edc1..8afa6dcf2b 100644 --- a/challenge-078/markus-holzer/raku/ch-1.raku +++ b/challenge-078/markus-holzer/raku/ch-1.raku @@ -1,10 +1,16 @@ unit sub MAIN( *@A where @A.all ~~ Int ); -say @A.&leader-elements.join: ", "; +say "({ join ", ", leader-elements( @A ) })"; -multi leader-elements( @A ) { - (^@A) - .grep( -> $i { @A[ $i ] > @A[ $i^..* ].all } ) - .map( -> $i { @A[ $i ] } ) } +sub leader-elements( @stuff ) { + sub find( $that, *@the-rest ) { + take $that if $that > all @the-rest; + find |@the-rest if @the-rest } -multi leader-elements( @A where +@A == 0 ) { 0 }
\ No newline at end of file + +@stuff ?? gather find |@stuff !! 0 } + +# +#sub leader-elements( @A ) { +# (^@A) +# .grep( -> $i { @A[ $i ] > @A[ $i^..* ].all } ) +# .map( -> $i { @A[ $i ] } ) } |
