diff options
| author | Mark A <andemark@a-iot1t.uch.ad.pvt> | 2021-08-23 01:58:46 -0600 |
|---|---|---|
| committer | Mark A <andemark@a-iot1t.uch.ad.pvt> | 2021-08-23 01:58:46 -0600 |
| commit | 44ee35a6797939c49e15a90df76b81d891913771 (patch) | |
| tree | 36825d84ce3107ed74643230c6ce621c89af0480 | |
| parent | df35ff0ae1f97a768f4365ac33aebffc0d331a6d (diff) | |
| download | perlweeklychallenge-club-44ee35a6797939c49e15a90df76b81d891913771.tar.gz perlweeklychallenge-club-44ee35a6797939c49e15a90df76b81d891913771.tar.bz2 perlweeklychallenge-club-44ee35a6797939c49e15a90df76b81d891913771.zip | |
Challenge 127 (Raku)
| -rw-r--r-- | challenge-127/mark-anderson/raku/ch-1.raku | 12 | ||||
| -rw-r--r-- | challenge-127/mark-anderson/raku/ch-2.raku | 24 |
2 files changed, 36 insertions, 0 deletions
diff --git a/challenge-127/mark-anderson/raku/ch-1.raku b/challenge-127/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..fd6d14ef5a --- /dev/null +++ b/challenge-127/mark-anderson/raku/ch-1.raku @@ -0,0 +1,12 @@ +#!/usr/bin/env raku + +use Test; +plan 2; + +is disjoint((1, 2, 5, 3, 4), (4, 6, 7, 8, 9)), 0; +is disjoint((1, 3, 5, 7, 9), (0, 2, 4, 6, 8)), 1; + +sub disjoint($s1, $s2) +{ + + not $s1 (&) $s2; +} diff --git a/challenge-127/mark-anderson/raku/ch-2.raku b/challenge-127/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..e65be7ec08 --- /dev/null +++ b/challenge-127/mark-anderson/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +use Test; +plan 2; + +is-deeply conflict-intervals((1,4), (3,5), (6,8), (12, 13), (3,20)), [(3,5), (3,20)]; + +is-deeply conflict-intervals((3,4), (5,7), (6,9), (10, 12), (13,15)), [(6,9),]; + +sub conflict-intervals(**@intervals) +{ + gather + { + while @intervals > 1 + { + if @intervals[1].head < @intervals[0].tail + { + take @intervals[1]; + } + + @intervals.shift; + } + }.Array; +} |
