aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Anderson <mark@frontrangerunner.com>2020-09-14 00:19:20 -0600
committerMark Anderson <mark@frontrangerunner.com>2020-09-14 00:19:20 -0600
commit09d1c54fa34d5bfcaa72aaf809c6ed96d194c64c (patch)
tree1c9bdb5789dcf278600a4d8560739409db95f6b1
parent644bf1ea0c8c41e9858cb1cc3e4504dba72fb373 (diff)
downloadperlweeklychallenge-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.raku15
-rw-r--r--challenge-078/mark-anderson/raku/ch-2.raku17
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;
+ }
+ }
+}