aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <seaker@qq.com>2020-09-14 16:43:03 +0800
committer冯昶 <seaker@qq.com>2020-09-14 16:43:03 +0800
commitec09b571a6f2186fec8870a071a8d5d38596c850 (patch)
tree0f45d2cb542c9bf534da3e2f88d4356d3e69674c
parent4c475b30f0fea1fa091e972b4e9bf7cdf8749641 (diff)
downloadperlweeklychallenge-club-ec09b571a6f2186fec8870a071a8d5d38596c850.tar.gz
perlweeklychallenge-club-ec09b571a6f2186fec8870a071a8d5d38596c850.tar.bz2
perlweeklychallenge-club-ec09b571a6f2186fec8870a071a8d5d38596c850.zip
challenge #078
-rwxr-xr-xchallenge-078/feng-chang/raku/ch-1-b.raku9
-rwxr-xr-xchallenge-078/feng-chang/raku/ch-1.raku13
-rwxr-xr-xchallenge-078/feng-chang/raku/ch-2.raku11
3 files changed, 33 insertions, 0 deletions
diff --git a/challenge-078/feng-chang/raku/ch-1-b.raku b/challenge-078/feng-chang/raku/ch-1-b.raku
new file mode 100755
index 0000000000..9b41fdd853
--- /dev/null
+++ b/challenge-078/feng-chang/raku/ch-1-b.raku
@@ -0,0 +1,9 @@
+#!/bin/env raku
+
+sub leaders(@A) {
+ @A[(^@A.elems).grep: { @A[$_] > @A[$_+1 .. *-1].all }];
+}
+
+say leaders(Array.new(9, 10, 7, 5, 6, 1));
+say leaders(Array.new(3, 4, 5));
+say leaders(Array.new());
diff --git a/challenge-078/feng-chang/raku/ch-1.raku b/challenge-078/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..7265e72c71
--- /dev/null
+++ b/challenge-078/feng-chang/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/bin/env raku
+
+sub leaders(@A) {
+ gather {
+ for 0 ..^ @A.elems -> $i {
+ take @A[$i] if @A[$i] > all(@A[$i+1..*-1]);
+ }
+ }
+}
+
+say leaders(Array.new(9, 10, 7, 5, 6, 1));
+say leaders(Array.new(3, 4, 5));
+say leaders(Array.new());
diff --git a/challenge-078/feng-chang/raku/ch-2.raku b/challenge-078/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..b4305b7ddc
--- /dev/null
+++ b/challenge-078/feng-chang/raku/ch-2.raku
@@ -0,0 +1,11 @@
+#!/bin/env raku
+
+my @A = <10 20 30 40 50>;
+my @B = <3 4>;
+@A.rotate($_).say for @B;
+
+say '=' x 16;
+
+@A = <7 4 2 6 3>;
+@B = <1 3 4>;
+@A.rotate($_).say for @B;