From cc33227dad734c676bec0f072e78513884550b95 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 31 Mar 2024 23:31:42 +0200 Subject: solutions week 262 --- challenge-262/wambash/raku/ch-1.raku | 20 ++++++++++++++++++++ challenge-262/wambash/raku/ch-2.raku | 22 ++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 challenge-262/wambash/raku/ch-1.raku create mode 100644 challenge-262/wambash/raku/ch-2.raku diff --git a/challenge-262/wambash/raku/ch-1.raku b/challenge-262/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..da37b4ebe4 --- /dev/null +++ b/challenge-262/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub max-positive-negative (+ints) { + ints + andthen .classify: *.sign + andthen .nodemap: *.elems + andthen .{-1,1}.max +} + +multi MAIN (Bool :test($)!) { + use Test; + is max-positive-negative(-3,1,2,-1,3,-2,4),4; + is max-positive-negative(-1, -2, -3, 1), 3; + is max-positive-negative(1,2), 2; + done-testing; +} + +multi MAIN (+ints) { + say max-positive-negative ints +} diff --git a/challenge-262/wambash/raku/ch-2.raku b/challenge-262/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..5fc00ac483 --- /dev/null +++ b/challenge-262/wambash/raku/ch-2.raku @@ -0,0 +1,22 @@ +#!/usr/bin/env raku + +sub count-equal-divisible (+ints,:$k) { + ints + andthen .pairs + andthen .classify: *.value, as => *.key + andthen .values + andthen .map: |*.combinations(2).map: -> (\x,\y) {x * y}\ + andthen .grep: { $_ %% $k }\ + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is count-equal-divisible(3,1,2,2,2,1,3):2k,4; + is count-equal-divisible(1,2,3):1k,0; + done-testing; +} + +multi MAIN (+ints,:$k) { + say count-equal-divisible +ints,:$k +} -- cgit From 9ef759de099a7e8117d2cbf8a00d6932344225c0 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 31 Mar 2024 23:35:21 +0200 Subject: MAIN works --- challenge-262/wambash/raku/ch-2.raku | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/challenge-262/wambash/raku/ch-2.raku b/challenge-262/wambash/raku/ch-2.raku index 5fc00ac483..d3f20cc3b7 100644 --- a/challenge-262/wambash/raku/ch-2.raku +++ b/challenge-262/wambash/raku/ch-2.raku @@ -17,6 +17,6 @@ multi MAIN (Bool :test($)!) { done-testing; } -multi MAIN (+ints,:$k) { - say count-equal-divisible +ints,:$k +multi MAIN (+ints,Int :$k) { + say count-equal-divisible ints,:$k } -- cgit