aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2023-03-20 08:05:12 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2023-03-20 08:05:12 +0100
commita084fb41d64f0ac861e5ca0fd55990c5c3542343 (patch)
treeb4fc513e87eb0eb43539d659f0c388154aefda94
parenta1045c99cbfc1c89f9322b0c841b7951d9608d03 (diff)
downloadperlweeklychallenge-club-a084fb41d64f0ac861e5ca0fd55990c5c3542343.tar.gz
perlweeklychallenge-club-a084fb41d64f0ac861e5ca0fd55990c5c3542343.tar.bz2
perlweeklychallenge-club-a084fb41d64f0ac861e5ca0fd55990c5c3542343.zip
solution week 208-1
-rw-r--r--challenge-208/wambash/raku/ch-1.raku25
1 files changed, 25 insertions, 0 deletions
diff --git a/challenge-208/wambash/raku/ch-1.raku b/challenge-208/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..920bad346b
--- /dev/null
+++ b/challenge-208/wambash/raku/ch-1.raku
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+use v6.e.PREVIEW;
+
+sub minimum-index-sum (+@lists) {
+ @lists
+ andthen .map: |*.antipairs
+ andthen .classify: *.key, as => *.value
+ andthen .grep: *.value.elems == +@lists
+ andthen Map($_)
+ andthen .nodemap: *.sum
+ andthen .minpairs
+ andthen .map: *.key
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is minimum-index-sum(<Perl Raku Love>,<Raku Perl Love>).sort, <Perl Raku>;
+ is minimum-index-sum(<A B C>,<D E F>), Empty;
+ is minimum-index-sum(<A B C>,<C A B>), <A>;
+ done-testing;
+}
+
+multi MAIN (+@lists) {
+ say minimum-index-sum +@lists
+}