From eea5c8d543e2e86378f538eef51cd1f53cbf4aa7 Mon Sep 17 00:00:00 2001 From: "Markus \"Holli\" Holzer" Date: Tue, 15 Sep 2020 00:32:29 +0200 Subject: initial --- challenge-078/markus-holzer/raku/ch-1.raku | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'challenge-078') 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 ] } ) } -- cgit