diff options
| -rw-r--r-- | challenge-325/mark-anderson/raku/ch-1.raku | 13 | ||||
| -rw-r--r-- | challenge-325/mark-anderson/raku/ch-2.raku | 14 |
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) + }) +} |
