From caebc678b4842773e3517fdfa506badb4335bf94 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 18 Feb 2024 14:38:50 +0100 Subject: solutions week 256 --- challenge-256/wambash/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-256/wambash/raku/ch-2.raku | 21 +++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 challenge-256/wambash/raku/ch-1.raku create mode 100644 challenge-256/wambash/raku/ch-2.raku diff --git a/challenge-256/wambash/raku/ch-1.raku b/challenge-256/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..f39495c7eb --- /dev/null +++ b/challenge-256/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub maximum-pairs (+words) { + words.kv + andthen .map: -> $i, $w { [+] $w.flip «eq« words.skip: $i + 1 }\ + andthen .sum +} + +multi MAIN (Bool :test($)!) { + use Test; + is maximum-pairs(),1; + is maximum-pairs(),0; + is maximum-pairs(),2; + done-testing; +} + +multi MAIN (+words) { + say maximum-pairs words +} diff --git a/challenge-256/wambash/raku/ch-2.raku b/challenge-256/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..90d80fcf51 --- /dev/null +++ b/challenge-256/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub merge-strings (+string) { + string + andthen .map: *.comb + andthen roundrobin |$_, :slip + andthen .join +} + +multi MAIN (Bool :test($)!) { + use Test; + is merge-strings(), 'a1b2c3d4'; + is merge-strings('abc','12345'), 'a1b2c345'; + is merge-strings(), 'a1b2c3de'; + is merge-strings(), 'a1Ab2Bc3de'; + done-testing; +} + +multi MAIN (+string) { + say merge-strings string +} -- cgit