From db89d8fa046dfbc2bb64f4c0fdd31a4a3a576875 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Mon, 8 May 2023 07:31:58 +0200 Subject: solutions week 215 --- challenge-215/wambash/raku/ch-1.raku | 23 +++++++++++++++++++++++ challenge-215/wambash/raku/ch-2.raku | 21 +++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 challenge-215/wambash/raku/ch-1.raku create mode 100644 challenge-215/wambash/raku/ch-2.raku diff --git a/challenge-215/wambash/raku/ch-1.raku b/challenge-215/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..649ed7754a --- /dev/null +++ b/challenge-215/wambash/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +sub odd-one-out (+@words) { + @words + andthen .grep: { [le] .comb }\ + andthen $_ but @words.elems - .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is odd-one-out(), ; + is odd-one-out().Int, 1; + is odd-one-out(), (); + is odd-one-out().Int, 3; + is odd-one-out(), ; + is odd-one-out().Int, 0; + done-testing; +} + +multi MAIN (*@words) { + odd-one-out(@words) + andthen put .Int => $_ +} diff --git a/challenge-215/wambash/raku/ch-2.raku b/challenge-215/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..29cd00be56 --- /dev/null +++ b/challenge-215/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub number-placement (+@numbers, :$count) { + @numbers.join + andthen .match: / [^||0] <( 0 /,:g #)> close bracket for emacs + andthen $count ≤ .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + plan 4; + is number-placement(1,0,0,0,1,:1count),True; + is number-placement(1,0,0,0,1,:2count),False; + is number-placement(1,0,0,0,0,0,0,1,:3count),False; + is number-placement(1,0,0,0,0,0,0,0,1,:3count),True; + done-testing; +} + +multi MAIN (*@numbers, :$count) { + say +number-placement @numbers, :$count +} -- cgit