aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Anderson <mark@andemark.io>2025-06-09 11:41:51 +0000
committerMark Anderson <mark@andemark.io>2025-06-09 11:41:51 +0000
commite6cb523f26f177d8a23cb1f7470dda76925cdb0b (patch)
treed0c78b147d1125c5e831d984f6e4eddbbc6a7893
parente28477d2418099cfbb1a227133c69ddef6eed741 (diff)
downloadperlweeklychallenge-club-e6cb523f26f177d8a23cb1f7470dda76925cdb0b.tar.gz
perlweeklychallenge-club-e6cb523f26f177d8a23cb1f7470dda76925cdb0b.tar.bz2
perlweeklychallenge-club-e6cb523f26f177d8a23cb1f7470dda76925cdb0b.zip
Challenge 325 Solutions (Raku)
-rw-r--r--challenge-325/mark-anderson/raku/ch-1.raku13
-rw-r--r--challenge-325/mark-anderson/raku/ch-2.raku14
2 files changed, 27 insertions, 0 deletions
diff --git a/challenge-325/mark-anderson/raku/ch-1.raku b/challenge-325/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..0543ae9985
--- /dev/null
+++ b/challenge-325/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,13 @@
+#!/usr/bin/env raku
+use Test;
+
+is consecutive-ones(0,1,1,0,1,1,1), 3;
+is consecutive-ones(0,0,0,0), 0;
+is consecutive-ones(1,0,1,0,1,1), 2;
+
+sub consecutive-ones(+@b)
+{
+ my $m = @b.join.match(/1+/, :g) or return 0;
+ $m.max.chars
+}
+
diff --git a/challenge-325/mark-anderson/raku/ch-2.raku b/challenge-325/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..0cc6eaab34
--- /dev/null
+++ b/challenge-325/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+use Test;
+
+is-deeply final-price(8,4,6,2,3), (4,2,4,2,3);
+is-deeply final-price(1,2,3,4,5), (1,2,3,4,5);
+is-deeply final-price(7,1,1,5), (6,0,1,5);
+
+sub final-price(+@prices)
+{
+ @prices.pairs
+ .map({ quietly .value - @prices[.key+1..*]
+ .first(* <= .value)
+ })
+}