aboutsummaryrefslogtreecommitdiff
path: root/challenge-080/mark-anderson
diff options
context:
space:
mode:
authorMark Anderson <mark@frontrangerunner.com>2020-10-01 21:28:40 -0600
committerMark Anderson <mark@frontrangerunner.com>2020-10-01 21:28:40 -0600
commitcbb484dfddf8c916e47fcced0a909bbf13c9d172 (patch)
treef403eee89039a0365b3ff2b471f502eb4a9a42a4 /challenge-080/mark-anderson
parentc33aa9a13257b3122cb6c37b2356d68330d111ab (diff)
downloadperlweeklychallenge-club-cbb484dfddf8c916e47fcced0a909bbf13c9d172.tar.gz
perlweeklychallenge-club-cbb484dfddf8c916e47fcced0a909bbf13c9d172.tar.bz2
perlweeklychallenge-club-cbb484dfddf8c916e47fcced0a909bbf13c9d172.zip
ch-2.raku do-over
Diffstat (limited to 'challenge-080/mark-anderson')
-rw-r--r--challenge-080/mark-anderson/raku/ch-2.raku27
1 files changed, 18 insertions, 9 deletions
diff --git a/challenge-080/mark-anderson/raku/ch-2.raku b/challenge-080/mark-anderson/raku/ch-2.raku
index 3d6125d6c9..d66070e3d3 100644
--- a/challenge-080/mark-anderson/raku/ch-2.raku
+++ b/challenge-080/mark-anderson/raku/ch-2.raku
@@ -1,13 +1,22 @@
-unit sub MAIN(*@ints where .all ~~ Int);
+# with help from https://www.youtube.com/watch?v=h6_lIwZYHQw
-my $candies = @ints.elems;
+unit sub MAIN(*@N where .all ~~ Int);
-@ints.push(Inf);
-@ints.unshift(Inf);
+my @L2R = candies(@N);
+my @R2L = candies(@N.reverse);
-for (1..^@ints.end) -> $i {
- $candies++ if @ints[$i] > @ints[$i-1];
- $candies++ if @ints[$i] > @ints[$i+1];
-}
+say (@L2R Z @R2L.reverse).map(*.max).sum;
+
+sub candies(@N) {
+ my @candies = 1 xx @N;
+
+ for @N.keys -> $k {
+ FIRST next;
-say $candies;
+ if @N[$k-1] < @N[$k] {
+ @candies[$k] = @candies[$k-1] + 1;
+ }
+ }
+
+ @candies;
+}