diff options
| author | Mark Anderson <mark@frontrangerunner.com> | 2020-03-23 18:16:11 -0600 |
|---|---|---|
| committer | Mark Anderson <mark@frontrangerunner.com> | 2020-03-23 18:16:11 -0600 |
| commit | f33b34bcf67d2ebfed9f6efdab663137d490343a (patch) | |
| tree | 47f98d356f472efa3ade81e9a1d80b02dad8e1d0 | |
| parent | d33d09bd5df9bbc68a5e091886a92e616e2b48e6 (diff) | |
| download | perlweeklychallenge-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.p6 | 11 | ||||
| -rw-r--r-- | challenge-053/mark-anderson/raku/ch-2.p6 | 21 |
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; + } +} |
