From e6cb523f26f177d8a23cb1f7470dda76925cdb0b Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Mon, 9 Jun 2025 11:41:51 +0000 Subject: Challenge 325 Solutions (Raku) --- challenge-325/mark-anderson/raku/ch-1.raku | 13 +++++++++++++ challenge-325/mark-anderson/raku/ch-2.raku | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 challenge-325/mark-anderson/raku/ch-1.raku create mode 100644 challenge-325/mark-anderson/raku/ch-2.raku 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) + }) +} -- cgit