aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Anderson <mark@frontrangerunner.com>2020-03-23 18:16:11 -0600
committerMark Anderson <mark@frontrangerunner.com>2020-03-23 18:16:11 -0600
commitf33b34bcf67d2ebfed9f6efdab663137d490343a (patch)
tree47f98d356f472efa3ade81e9a1d80b02dad8e1d0
parentd33d09bd5df9bbc68a5e091886a92e616e2b48e6 (diff)
downloadperlweeklychallenge-club-f33b34bcf67d2ebfed9f6efdab663137d490343a.tar.gz
perlweeklychallenge-club-f33b34bcf67d2ebfed9f6efdab663137d490343a.tar.bz2
perlweeklychallenge-club-f33b34bcf67d2ebfed9f6efdab663137d490343a.zip
Challenge 53 Solutions
-rw-r--r--challenge-053/mark-anderson/raku/ch-1.p611
-rw-r--r--challenge-053/mark-anderson/raku/ch-2.p621
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-053/mark-anderson/raku/ch-1.p6 b/challenge-053/mark-anderson/raku/ch-1.p6
new file mode 100644
index 0000000000..cba55e8ff4
--- /dev/null
+++ b/challenge-053/mark-anderson/raku/ch-1.p6
@@ -0,0 +1,11 @@
+#!/usr/bin/env raku
+
+my @matrix = [ 1, 2, 3 ],
+ [ 4, 5, 6 ],
+ [ 7, 8, 9 ];
+
+say [Z] @matrix.reverse; # rotate 90
+
+say @matrix.map({reverse $_}).reverse; # rotate 180
+
+say ([Z] @matrix).reverse; # rotate 270
diff --git a/challenge-053/mark-anderson/raku/ch-2.p6 b/challenge-053/mark-anderson/raku/ch-2.p6
new file mode 100644
index 0000000000..de260d523b
--- /dev/null
+++ b/challenge-053/mark-anderson/raku/ch-2.p6
@@ -0,0 +1,21 @@
+#!/usr/bin/env perl6
+
+sub MAIN($length where 1 <= $length <= 5) {
+ my @connections = ["ae", "ai", "ei", "ia", "ie",
+ "io", "iu", "oa", "ou", "uo", "ue"];
+
+ for <a e i o u> -> $first_letter {
+ my @queue = Empty;
+ @queue.push($first_letter);
+
+ while @queue[0].chars < $length {
+ my $str = @queue.shift;
+ my $last_letter = $str.substr(*-1);
+ for @connections.grep(/^$last_letter/).map(*.substr(*-1)) -> $ltr {
+ @queue.push($str ~ $ltr);
+ }
+ }
+
+ say @queue;
+ }
+}