aboutsummaryrefslogtreecommitdiff
path: root/challenge-078/gugod
diff options
context:
space:
mode:
author冯昶 <seaker@qq.com>2020-09-21 14:20:42 +0800
committer冯昶 <seaker@qq.com>2020-09-21 14:20:42 +0800
commitbca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb (patch)
tree877181cfde26b706346d3468269e4674d75da772 /challenge-078/gugod
parentec09b571a6f2186fec8870a071a8d5d38596c850 (diff)
parent5ac16ac7e9826137e0da5597e954f4992c66205d (diff)
downloadperlweeklychallenge-club-bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb.tar.gz
perlweeklychallenge-club-bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb.tar.bz2
perlweeklychallenge-club-bca0c362c212fc0dadc5ed7d9a5e4fa1aece4bfb.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'challenge-078/gugod')
-rw-r--r--challenge-078/gugod/README1
-rw-r--r--challenge-078/gugod/raku/ch-1.raku13
-rw-r--r--challenge-078/gugod/raku/ch-2.raku24
3 files changed, 38 insertions, 0 deletions
diff --git a/challenge-078/gugod/README b/challenge-078/gugod/README
new file mode 100644
index 0000000000..509fd4c50c
--- /dev/null
+++ b/challenge-078/gugod/README
@@ -0,0 +1 @@
+Solutions by Kang-min Liu.
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);
+ }
+}