diff options
| -rw-r--r-- | challenge-078/gugod/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-078/gugod/raku/ch-2.raku | 24 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-078/gugod/raku/ch-1.raku b/challenge-078/gugod/raku/ch-1.raku new file mode 100644 index 0000000000..84f946ae0b --- /dev/null +++ b/challenge-078/gugod/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/usr/bin/env raku + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/#TASK1 +# +# It appears to to me, by example 2, the right-most element is always a leader. +# + +sub leaders(@A) { + my $max = -Inf; + return @A.reverse.grep(-> $v { ($v > $max) ?? ( $max = $v ; True ) !! False }).reverse(); +} + +say leaders(@*ARGS); diff --git a/challenge-078/gugod/raku/ch-2.raku b/challenge-078/gugod/raku/ch-2.raku new file mode 100644 index 0000000000..96d457e496 --- /dev/null +++ b/challenge-078/gugod/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +# https://perlweeklychallenge.org/blog/perl-weekly-challenge-078/#TASK2 +# +# # raku ./challenge-078/gugod/raku/ch-2.raku --a=7,4,2,6,3 --b=1,3,4 +# [4 2 6 3 7] +# [6 3 7 4 2] +# [3 7 4 2 6] + +sub rot($n, @A) { + return @A[ $n .. *, 0 .. $n-1 ].flat; +} + +sub MAIN ( + Str :$a, + Str :$b, +) { + my @A = $a.split(","); + my @B = $b.split(","); + + for @B -> $n { + say rot($n, @A); + } +} |
