From 98b83b10e9c61268087263a333fb76cdea0d70c7 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 7 Apr 2024 10:33:06 +0200 Subject: solutions week 263 --- challenge-263/wambash/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-263/wambash/raku/ch-2.raku | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 challenge-263/wambash/raku/ch-1.raku create mode 100644 challenge-263/wambash/raku/ch-2.raku diff --git a/challenge-263/wambash/raku/ch-1.raku b/challenge-263/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..13d3ccf8db --- /dev/null +++ b/challenge-263/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub target-index (+ints,:$k) { + ints + andthen .sort + andthen .grep: { $_ == $k },:k +} + +multi MAIN (Bool :test($)!) { + use Test; + is target-index(1,5,3,2,4,2,:2k),(1,2); + is target-index(1..5,:6k),(); + is target-index(5,3,2,4,2,1,:4k),(4); + done-testing; +} + +multi MAIN (+ints,:$k) { + put target-index ints,:$k +} diff --git a/challenge-263/wambash/raku/ch-2.raku b/challenge-263/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..91656fd521 --- /dev/null +++ b/challenge-263/wambash/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub merge-items (*@items) { + @items + andthen .map: *.pairup + andthen .Bag +} + +multi MAIN (Bool :test($)!) { + use Test; + is-deeply merge-items([[1,1],[2,1],[3,2]],[[2,2],[1,3]]),(1=>4 ,2=>3,3=>2).Bag; + is-deeply merge-items([ [1,2], [2,3], [1,3], [3,2] ],[ [3,1], [1,3] ]),(1=>8 ,2=>3,3=>3).Bag; + is-deeply merge-items([ [1,1], [2,2], [3,3]],[ [2,3], [2,4] ]),(1=>1 ,2=>9,3=>3).Bag; + done-testing; +} + +multi MAIN (*@items) { + .put for merge-items @items».split(',') +} -- cgit