diff options
| author | Mark Anderson <mark@frontrangerunner.com> | 2020-09-14 00:19:20 -0600 |
|---|---|---|
| committer | Mark Anderson <mark@frontrangerunner.com> | 2020-09-14 00:19:20 -0600 |
| commit | 09d1c54fa34d5bfcaa72aaf809c6ed96d194c64c (patch) | |
| tree | 1c9bdb5789dcf278600a4d8560739409db95f6b1 | |
| parent | 644bf1ea0c8c41e9858cb1cc3e4504dba72fb373 (diff) | |
| download | perlweeklychallenge-club-09d1c54fa34d5bfcaa72aaf809c6ed96d194c64c.tar.gz perlweeklychallenge-club-09d1c54fa34d5bfcaa72aaf809c6ed96d194c64c.tar.bz2 perlweeklychallenge-club-09d1c54fa34d5bfcaa72aaf809c6ed96d194c64c.zip | |
Challenge 78 Solutions
| -rw-r--r-- | challenge-078/mark-anderson/raku/ch-1.raku | 15 | ||||
| -rw-r--r-- | challenge-078/mark-anderson/raku/ch-2.raku | 17 |
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-078/mark-anderson/raku/ch-1.raku b/challenge-078/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..0558962908 --- /dev/null +++ b/challenge-078/mark-anderson/raku/ch-1.raku @@ -0,0 +1,15 @@ +my @array = (11..35).pick: 25; + +say @array; + +my $max = @array.max; + +my @results = @array.pop; + +while @array.pop -> $n { + @results.unshift: $n if $n > @results.head; + + last if $n == $max; +} + +say @results; diff --git a/challenge-078/mark-anderson/raku/ch-2.raku b/challenge-078/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..4971f7b76d --- /dev/null +++ b/challenge-078/mark-anderson/raku/ch-2.raku @@ -0,0 +1,17 @@ +.say for left-rotate((10, 20, 30, 40, 50), (3, 4)); + +.say for left-rotate((7, 4, 2, 6, 3), (1, 3, 4)); + +sub left-rotate(@A, @B) { + my @R = @A; + + gather { + for @B -> $i { + my $k = @R.first(@A[$i], :k); + + @R .= rotate($k); + + take @R; + } + } +} |
