aboutsummaryrefslogtreecommitdiff
path: root/challenge-308
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-02-10 20:14:59 +0000
committerGitHub <noreply@github.com>2025-02-10 20:14:59 +0000
commit2590babb5e678a54732cd4e6567155264b6bde12 (patch)
tree10fc095883c45f65000ddc130cc9188fb2bf082a /challenge-308
parentaa4b8399bdb3da0a50173fcab689bfa80b9b54e1 (diff)
parent49e85fa773b01032e48a00d910828cb05b1b16d4 (diff)
downloadperlweeklychallenge-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.raku11
-rw-r--r--challenge-308/mark-anderson/raku/ch-2.raku22
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