aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-03-03 12:40:59 +0000
committerGitHub <noreply@github.com>2020-03-03 12:40:59 +0000
commitb2bc4bf112b6e4e1dbf0e6ea906f1e18558a4f82 (patch)
tree0ce42141a7da0a3b9b20b277d527978a5c1559fc
parent9b64aedf7cae92ccca617184662e133d651c0dee (diff)
parentff297d68111ca19fa97b0ba3a8de78171e44438e (diff)
downloadperlweeklychallenge-club-b2bc4bf112b6e4e1dbf0e6ea906f1e18558a4f82.tar.gz
perlweeklychallenge-club-b2bc4bf112b6e4e1dbf0e6ea906f1e18558a4f82.tar.bz2
perlweeklychallenge-club-b2bc4bf112b6e4e1dbf0e6ea906f1e18558a4f82.zip
Merge pull request #1349 from andemark/branch-for-challenge-050
Challenge 50 Solutions
-rw-r--r--challenge-050/mark-anderson/raku/ch-1.p620
-rw-r--r--challenge-050/mark-anderson/raku/ch-2.p68
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-050/mark-anderson/raku/ch-1.p6 b/challenge-050/mark-anderson/raku/ch-1.p6
new file mode 100644
index 0000000000..9dac34bf59
--- /dev/null
+++ b/challenge-050/mark-anderson/raku/ch-1.p6
@@ -0,0 +1,20 @@
+#!/usr/bin/env perl6
+
+my @array = ([2,7], [3,9], [10,12], [15,19], [18,22]);
+
+my @merged = @array.shift;
+
+while @array {
+ my @a = @array.shift.flat;
+ my @m = @merged.pop.flat;
+
+ if (@m[1] >= @a[0]) {
+ @merged.push([@m[0], @a[1]]);
+ }
+
+ else {
+ @merged.append(@m, @a);
+ }
+}
+
+say @merged.flat;
diff --git a/challenge-050/mark-anderson/raku/ch-2.p6 b/challenge-050/mark-anderson/raku/ch-2.p6
new file mode 100644
index 0000000000..678ecc2d99
--- /dev/null
+++ b/challenge-050/mark-anderson/raku/ch-2.p6
@@ -0,0 +1,8 @@
+#!/usr/bin/env perl6
+
+my @L = [2, 6, 1, 3];
+
+@L ==>
+grep { $_ < @L.elems } ==> # skip numbers that aren't possible
+first { @L.grep(* > $_).elems == $_ } ==> # I'm trusting there can only be 1
+say();