From c15b7c3c0aae51af62930deb9d1bfc2f41114d3a Mon Sep 17 00:00:00 2001 From: Mark A Date: Tue, 31 Aug 2021 02:39:57 -0600 Subject: ch-2.raku --- challenge-128/mark-anderson/raku/ch-2.raku | 34 ++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 challenge-128/mark-anderson/raku/ch-2.raku diff --git a/challenge-128/mark-anderson/raku/ch-2.raku b/challenge-128/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..6ce7d0fe18 --- /dev/null +++ b/challenge-128/mark-anderson/raku/ch-2.raku @@ -0,0 +1,34 @@ +#!/usr/bin/env raku + +use Test; +plan 2; + +is minimum-platforms(<11:20 14:30>, <11:50 15:00>), 1, 'Example 1'; + +is minimum-platforms(<10:20 11:00 11:10 12:20 16:20 19:00>, + <10:30 13:20 12:40 12:50 20:20 21:20>), 3, 'Example 2'; + +sub minimum-platforms($arrivals, $departures) +{ + my @queue; + my $result; + my @arrivals = $arrivals.sort; + my @departures = $departures.sort; + + while @arrivals + { + if @arrivals.head lt @departures.head + { + @queue.push: @arrivals.shift; + $result = max($result, +@queue); + } + + else + { + @departures.shift; + @queue.shift; + } + } + + $result; +} -- cgit