diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-12-31 23:43:15 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-31 23:43:15 +0000 |
| commit | 8f580b1c13f8e5ccea389cfb7f73903ceb5a9293 (patch) | |
| tree | 6c7dc8f47ea63784bfa75f111859108e88cc7427 | |
| parent | b4c5fabe2eaf2cb36a300440f7b329200f67a104 (diff) | |
| parent | b1921577168a9cb1ba0892f4086e008ae62849f4 (diff) | |
| download | perlweeklychallenge-club-8f580b1c13f8e5ccea389cfb7f73903ceb5a9293.tar.gz perlweeklychallenge-club-8f580b1c13f8e5ccea389cfb7f73903ceb5a9293.tar.bz2 perlweeklychallenge-club-8f580b1c13f8e5ccea389cfb7f73903ceb5a9293.zip | |
Merge pull request #9321 from BarrOff/barroff-249
feat: add solution for challenge 249 from BarrOff
| -rw-r--r-- | challenge-249/barroff/raku/ch-1.p6 | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/challenge-249/barroff/raku/ch-1.p6 b/challenge-249/barroff/raku/ch-1.p6 new file mode 100644 index 0000000000..1e6d049f90 --- /dev/null +++ b/challenge-249/barroff/raku/ch-1.p6 @@ -0,0 +1,22 @@ +#!/usr/bin/env raku + +sub equal-pairs(@nums --> List) { + my %number-bag = Bag(@nums); + return () if so any(%number-bag.values()) % 2 ≠ 0; + my @pairs = map({ Slip(($_, $_) xx (%number-bag{$_} div 2))}, %number-bag.keys); + return @pairs; +} + +#| Run test cases +multi sub MAIN('test') { + use Test; + plan 2; + + is sort(equal-pairs([3, 2, 3, 2, 2, 2])), ((2, 2), (2, 2), (3, 3)), 'Works for (3, 2, 3, 2, 2, 2)'; + is equal-pairs([1, 2, 3, 4]), (), 'Works for (1, 2, 3, 4)'; +} + +#| Take user provided list like 1 1 2 2 2 3 +multi sub MAIN(*@ints) { + say equal-pairs(@ints); +} |
