diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-12-31 22:23:38 +0100 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-12-31 22:23:38 +0100 |
| commit | bcc43beed33a9d6d049df72ade1bc10e2f2bb717 (patch) | |
| tree | dbd2b48a9bc8a6901cdad7d49a6b169bc18dd479 | |
| parent | 4dd6ef5012a9af5257cea82c2f027f1639a4750e (diff) | |
| download | perlweeklychallenge-club-bcc43beed33a9d6d049df72ade1bc10e2f2bb717.tar.gz perlweeklychallenge-club-bcc43beed33a9d6d049df72ade1bc10e2f2bb717.tar.bz2 perlweeklychallenge-club-bcc43beed33a9d6d049df72ade1bc10e2f2bb717.zip | |
solution week 249-2 -- mutation in DI-string-match
| -rw-r--r-- | challenge-249/wambash/raku/ch-2.raku | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/challenge-249/wambash/raku/ch-2.raku b/challenge-249/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..3f55d70bb4 --- /dev/null +++ b/challenge-249/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub DI-string-match ($s) { + my @si = $s.comb; + my @perm = 0 .. @si.elems; + + my @b = @si.map: { $_ eq 'I' ?? @perm.shift !! @perm.pop } + |@b, @perm.shift +} + +multi MAIN (Bool :test($)!) { + use Test; + is-deeply DI-string-match('IDID'), (0,4,1,3,2); + is-deeply DI-string-match('III'), (0,1,2,3); + is-deeply DI-string-match('DDI'), (3,2,0,1); + done-testing; +} + +multi MAIN ($s) { + say DI-string-match $s +} |
