From 7278ab2f4862abe28dde25e1853dc060eb78c14f Mon Sep 17 00:00:00 2001 From: Mark Anderson Date: Sun, 15 Jun 2025 17:27:06 +0000 Subject: ch-1.raku do-over --- challenge-325/mark-anderson/raku/ch-1.raku | 10 +++++++--- challenge-325/mark-anderson/raku/ch-2.raku | 7 ++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/challenge-325/mark-anderson/raku/ch-1.raku b/challenge-325/mark-anderson/raku/ch-1.raku index 0543ae9985..362cf118b3 100644 --- a/challenge-325/mark-anderson/raku/ch-1.raku +++ b/challenge-325/mark-anderson/raku/ch-1.raku @@ -1,13 +1,17 @@ #!/usr/bin/env raku +use v6.e.PREVIEW; 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) +multi consecutive-ones(+@b where .head == 0) { - my $m = @b.join.match(/1+/, :g) or return 0; - $m.max.chars + sum max 0, max @b.snip(flat (0,1) xx *)[1,3...*] } +multi consecutive-ones(+@b) +{ + .elems given max @b.snip(flat (1,0) xx *)[0,2...*] +} diff --git a/challenge-325/mark-anderson/raku/ch-2.raku b/challenge-325/mark-anderson/raku/ch-2.raku index 0cc6eaab34..bd27578d0b 100644 --- a/challenge-325/mark-anderson/raku/ch-2.raku +++ b/challenge-325/mark-anderson/raku/ch-2.raku @@ -5,10 +5,7 @@ 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) +sub final-price(+@p) { - @prices.pairs - .map({ quietly .value - @prices[.key+1..*] - .first(* <= .value) - }) + @p.pairs.map({ quietly .value - @p[.key+1..*].first(* <= .value) }) } -- cgit