From b998fcf374ff55b6eb19eea6e79a55866167d7f1 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Thu, 11 Jul 2024 09:38:14 +0200 Subject: solutions week 277 --- challenge-277/wambash/raku/ch-1.raku | 21 +++++++++++++++++++++ challenge-277/wambash/raku/ch-2.raku | 20 ++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 challenge-277/wambash/raku/ch-1.raku create mode 100644 challenge-277/wambash/raku/ch-2.raku diff --git a/challenge-277/wambash/raku/ch-1.raku b/challenge-277/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..1f2d8d8f32 --- /dev/null +++ b/challenge-277/wambash/raku/ch-1.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub count-common (+words) { + words + andthen .map: *.Bag + andthen .map: *.nodemap: * ≤ 1 + andthen [∩] $_ + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is count-common(, ), 2; + is count-common(, ), 1; + is count-common(, ), 0; + done-testing; +} + +multi MAIN (+words) { + say count-common words».words +} diff --git a/challenge-277/wambash/raku/ch-2.raku b/challenge-277/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..ec6c09b2f2 --- /dev/null +++ b/challenge-277/wambash/raku/ch-2.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub strong-pair (+ints) { + ints + andthen .unique + andthen .combinations: 2 + andthen .grep: -> ($x, $y) { 0 < abs( $x - $y ) < ($x min $y) }\ + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is strong-pair(1..5), 4; + is strong-pair(5,7,1,7), 1; + done-testing; +} + +multi MAIN (+ints) { + say strong-pair ints +} -- cgit