diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-02-10 20:14:59 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-10 20:14:59 +0000 |
| commit | 2590babb5e678a54732cd4e6567155264b6bde12 (patch) | |
| tree | 10fc095883c45f65000ddc130cc9188fb2bf082a /challenge-308 | |
| parent | aa4b8399bdb3da0a50173fcab689bfa80b9b54e1 (diff) | |
| parent | 49e85fa773b01032e48a00d910828cb05b1b16d4 (diff) | |
| download | perlweeklychallenge-club-2590babb5e678a54732cd4e6567155264b6bde12.tar.gz perlweeklychallenge-club-2590babb5e678a54732cd4e6567155264b6bde12.tar.bz2 perlweeklychallenge-club-2590babb5e678a54732cd4e6567155264b6bde12.zip | |
Merge pull request #11551 from andemark/challenge-308
Challenge 308 Solutions (Raku)
Diffstat (limited to 'challenge-308')
| -rw-r--r-- | challenge-308/mark-anderson/raku/ch-1.raku | 11 | ||||
| -rw-r--r-- | challenge-308/mark-anderson/raku/ch-2.raku | 22 |
2 files changed, 33 insertions, 0 deletions
diff --git a/challenge-308/mark-anderson/raku/ch-1.raku b/challenge-308/mark-anderson/raku/ch-1.raku new file mode 100644 index 0000000000..172e29c8e6 --- /dev/null +++ b/challenge-308/mark-anderson/raku/ch-1.raku @@ -0,0 +1,11 @@ +#!/usr/bin/env raku +use Test; + +is count-common(<perl weekly challenge>, <raku weekly challenge>), 2; +is count-common(<perl raku python>, <python java>), 1; +is count-common(<guest contribution>, <fun weekly challenge>), 0; + +sub count-common(@a, @b) +{ + +(@a ∩ @b) +} diff --git a/challenge-308/mark-anderson/raku/ch-2.raku b/challenge-308/mark-anderson/raku/ch-2.raku new file mode 100644 index 0000000000..c2e95667d1 --- /dev/null +++ b/challenge-308/mark-anderson/raku/ch-2.raku @@ -0,0 +1,22 @@ +#!/usr/bin/env raku +use Test; + +is-deeply decode-xor([1,2,3], 1), (1,0,2,1); +is-deeply decode-xor([6,2,7,3], 4), (4,2,0,7,4); + +sub decode-xor(@e, $i) +{ + my $c; + ($i, $i+^@e[$c++], {$^a+^@e[$c++]}...*).head(@e+1) +} + +=begin alternate-solution +sub decode-xor(@encoded, $initial is copy) +{ + gather for @encoded + { + once take $initial; + take $initial +^= $_ + } +} +=end alternate-solution |
