aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark <53903062+andemark@users.noreply.github.com>2024-04-10 08:30:03 +0000
committerMark <53903062+andemark@users.noreply.github.com>2024-04-10 08:30:03 +0000
commite6e6d3d5922fa0ced77f52918f8966a9413afbef (patch)
tree196026c098f3f46168c7087a90a241fe5ae85cf0
parentc8e19172cfbe5d50ff9bda817509cb845c24d551 (diff)
downloadperlweeklychallenge-club-e6e6d3d5922fa0ced77f52918f8966a9413afbef.tar.gz
perlweeklychallenge-club-e6e6d3d5922fa0ced77f52918f8966a9413afbef.tar.bz2
perlweeklychallenge-club-e6e6d3d5922fa0ced77f52918f8966a9413afbef.zip
ch-2.raku do-over
-rw-r--r--challenge-264/mark-anderson/raku/ch-2.raku23
1 files changed, 23 insertions, 0 deletions
diff --git a/challenge-264/mark-anderson/raku/ch-2.raku b/challenge-264/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..c30d153528
--- /dev/null
+++ b/challenge-264/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/env raku
+use Adverb::Eject;
+use Test;
+
+is-deeply target-array([0,1,2,3,4], [0,1,2,2,1]), [0,4,1,3,2];
+is-deeply target-array([1,2,3,4,0], [0,1,2,3,0]), [0,1,2,3,4];
+is-deeply target-array([1], [0]), [1,];
+is-deeply target-array([5,6,7,8], [1,1,0,0]), [8,7,6,5];
+is-deeply target-array([5,6,7,8], [2,1,0,1]), [7,8,6,5];
+
+sub target-array(@s, @i)
+{
+ my @a = Any xx @i;
+
+ for @i Z @s -> ($i,$s)
+ {
+ @a = |@a[^$i], $s, |@a[$i..*];
+ my $k = @a[$i..*].first({ not .defined }, :k) + @a[^$i];
+ @a[$k]:eject
+ }
+
+ return @a
+}