aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Anderson <mark@frontrangerunner.com>2020-07-27 05:38:25 -0600
committerMark Anderson <mark@frontrangerunner.com>2020-07-27 05:38:25 -0600
commit82d07e235c3514db06ed58f44eb9f7180546a0ed (patch)
treeb50ec7f30e19255b78e07f2ab8d94d2793733c10
parent6b0fef6d35e61345ad5fd3f2ab5847c0afafc5ff (diff)
downloadperlweeklychallenge-club-82d07e235c3514db06ed58f44eb9f7180546a0ed.tar.gz
perlweeklychallenge-club-82d07e235c3514db06ed58f44eb9f7180546a0ed.tar.bz2
perlweeklychallenge-club-82d07e235c3514db06ed58f44eb9f7180546a0ed.zip
Peaks Solution
-rw-r--r--challenge-071/mark-anderson/raku/ch-1.raku19
1 files changed, 19 insertions, 0 deletions
diff --git a/challenge-071/mark-anderson/raku/ch-1.raku b/challenge-071/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..e255aecde1
--- /dev/null
+++ b/challenge-071/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+unit sub MAIN(UInt $N where 1 < $N <= 50);
+
+my @array = (1..50).pick($N);
+
+my $regex = / [^|\s] (\d+) \s (\d+) \s (\d+) [\s|$] <?{ $0 < $1 > $2 }> /;
+
+my @peaks = gather {
+ take @array[0] if @array[0] > @array[1];
+
+ take ~.[1] for @array.join(" ").match($regex, :overlap);
+
+ take @array[*-1] if @array[*-1] > @array[*-2];
+}
+
+say "Array: ", @array, "\n";
+
+say "Peaks: ", @peaks;