aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-078/gugod/raku/ch-1.raku13
-rw-r--r--challenge-078/gugod/raku/ch-2.raku24
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);
+ }
+}