aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2025-01-26 19:41:06 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2025-01-26 19:41:06 +0100
commit20b20ff58341c95168c22f2cd6a24bfb04297748 (patch)
treead02375917549bd3889d4e3901e15e68895f120a
parentc1693f44771d7a0b9aad77ebca07be3a6d01242f (diff)
downloadperlweeklychallenge-club-20b20ff58341c95168c22f2cd6a24bfb04297748.tar.gz
perlweeklychallenge-club-20b20ff58341c95168c22f2cd6a24bfb04297748.tar.bz2
perlweeklychallenge-club-20b20ff58341c95168c22f2cd6a24bfb04297748.zip
solutions week 305
-rw-r--r--challenge-305/wambash/raku/ch-1.raku24
-rw-r--r--challenge-305/wambash/raku/ch-2.raku23
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-305/wambash/raku/ch-1.raku b/challenge-305/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..f56998526a
--- /dev/null
+++ b/challenge-305/wambash/raku/ch-1.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+
+sub binary-prefix (+binary) {
+ binary
+ andthen [\~] binary
+ andthen .map: { :2(.Str).is-prime }
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is binary-prefix(1,0,1), (False,True,True);
+ is binary-prefix(1,1,0), (False,True,False);
+ is binary-prefix(1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1), (
+ False, True, True, False, False,
+ True, False, False, False, False,
+ False, False, False, False, False,
+ False, False, False, False, True
+ );
+ done-testing;
+}
+
+multi MAIN (+binary) {
+ put binary-prefix binary
+}
diff --git a/challenge-305/wambash/raku/ch-2.raku b/challenge-305/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..1f7df7fbf9
--- /dev/null
+++ b/challenge-305/wambash/raku/ch-2.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/env raku
+
+sub alien-dictionary (+words,:@alien) {
+ my %alphabet = @alien.antipairs;
+ words.sort: { %alphabet{ .comb } }
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is alien-dictionary(
+ <perl python raku>,
+ :alien<h l a b y d e f g i r k m n o p q j s t u v w x c z>
+ ), <raku python perl>;
+ is alien-dictionary(
+ <the weekly challenge>,
+ :alien<c o r l d a b t e f g h i j k m n p q s w u v x y z>
+ ), <challenge the weekly>;
+ done-testing;
+}
+
+multi MAIN (+words,:$alien) {
+ put alien-dictionary words,:alien($alien.comb)
+}