diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-03-20 08:05:12 +0100 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-03-20 08:05:12 +0100 |
| commit | a084fb41d64f0ac861e5ca0fd55990c5c3542343 (patch) | |
| tree | b4fc513e87eb0eb43539d659f0c388154aefda94 | |
| parent | a1045c99cbfc1c89f9322b0c841b7951d9608d03 (diff) | |
| download | perlweeklychallenge-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.raku | 25 |
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 +} |
