diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-04-27 18:59:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-27 18:59:11 +0100 |
| commit | 39790cae1c3d9cb972543e50e9081bf05e925c4e (patch) | |
| tree | b602e340af7a613bbfac7d127235244c3d706154 | |
| parent | 0d72e13e495ea2bdee9e8082f81b1182a710ceed (diff) | |
| parent | 9bc4fc49092614774c603336f5d86040d6618269 (diff) | |
| download | perlweeklychallenge-club-39790cae1c3d9cb972543e50e9081bf05e925c4e.tar.gz perlweeklychallenge-club-39790cae1c3d9cb972543e50e9081bf05e925c4e.tar.bz2 perlweeklychallenge-club-39790cae1c3d9cb972543e50e9081bf05e925c4e.zip | |
Merge pull request #9993 from wambash/challenge-week-266
solutions week 266
| -rw-r--r-- | challenge-266/wambash/raku/ch-1.raku | 20 | ||||
| -rw-r--r-- | challenge-266/wambash/raku/ch-2.raku | 41 |
2 files changed, 61 insertions, 0 deletions
diff --git a/challenge-266/wambash/raku/ch-1.raku b/challenge-266/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..450372d232 --- /dev/null +++ b/challenge-266/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub uncommon-words (+lines) { + lines + andthen .words + andthen .Bag + andthen .nodemap: * == 1 +} + +multi MAIN (Bool :test($)!) { + use Test; + cmp-ok uncommon-words('Mango is sweet', 'Mango is sour'), &[≡],('sweet','sour'); + cmp-ok uncommon-words('Mango is Mango', 'Orange is Orange'), &[≡], Empty; + cmp-ok uncommon-words('Mango Mango', 'Orange'), &[≡], ('Orange'); + done-testing; +} + +multi MAIN (+lines) { + put uncommon-words lines +} diff --git a/challenge-266/wambash/raku/ch-2.raku b/challenge-266/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..0e281291af --- /dev/null +++ b/challenge-266/wambash/raku/ch-2.raku @@ -0,0 +1,41 @@ +#!/usr/bin/env raku + +sub x-matrix (+matrix) { + my $n = matrix.elems; + my @x-index = ( (^$n Z=> ^$n) Z, (^$n Z=> reverse ^$n) andthen .map: { set |$_ } ); + + matrix + andthen .pairs + andthen .map: { set .key «=>« |.value.grep: * !== 0,:k }\ + andthen $_ Z≡ @x-index + andthen .all +} + +multi MAIN (Bool :test($)!) { + use Test; + + is x-matrix( + [1, 0, 0, 2], + [0, 3, 4, 0], + [0, 5, 6, 0], + [7, 0, 0, 1], + ), True; + + is x-matrix( + [1, 2, 3], + [4, 5, 6], + [7, 8, 9], + ), False; + + is x-matrix( + [1, 0, 2], + [0, 3, 0], + [4, 0, 5], + ), True; + + done-testing; +} + +multi MAIN (+matrix) { + say ?x-matrix matrix.map: *.comb: /\d+/ +} |
