aboutsummaryrefslogtreecommitdiff
path: root/challenge-078
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-078')
-rw-r--r--challenge-078/markus-holzer/raku/ch-1.raku18
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 ] } ) }