diff options
| author | Mark <53903062+andemark@users.noreply.github.com> | 2024-04-10 08:30:03 +0000 |
|---|---|---|
| committer | Mark <53903062+andemark@users.noreply.github.com> | 2024-04-10 08:30:03 +0000 |
| commit | e6e6d3d5922fa0ced77f52918f8966a9413afbef (patch) | |
| tree | 196026c098f3f46168c7087a90a241fe5ae85cf0 | |
| parent | c8e19172cfbe5d50ff9bda817509cb845c24d551 (diff) | |
| download | perlweeklychallenge-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.raku | 23 |
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 +} |
