From 20b20ff58341c95168c22f2cd6a24bfb04297748 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 26 Jan 2025 19:41:06 +0100 Subject: solutions week 305 --- challenge-305/wambash/raku/ch-1.raku | 24 ++++++++++++++++++++++++ challenge-305/wambash/raku/ch-2.raku | 23 +++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 challenge-305/wambash/raku/ch-1.raku create mode 100644 challenge-305/wambash/raku/ch-2.raku 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( + , + :alien + ), ; + is alien-dictionary( + , + :alien + ), ; + done-testing; +} + +multi MAIN (+words,:$alien) { + put alien-dictionary words,:alien($alien.comb) +} -- cgit