diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2025-05-25 10:02:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-25 10:02:43 +0100 |
| commit | 7c768b927743ab5f69dfe30e283fb371b466b511 (patch) | |
| tree | 8d385e1b2f682aa22003237bea7a3ecafcd05984 | |
| parent | 4b37354146bf46d3e8719156374dd802aa9dac71 (diff) | |
| parent | c84fa3a7f7e470844a68a46788cb616194d7318f (diff) | |
| download | perlweeklychallenge-club-7c768b927743ab5f69dfe30e283fb371b466b511.tar.gz perlweeklychallenge-club-7c768b927743ab5f69dfe30e283fb371b466b511.tar.bz2 perlweeklychallenge-club-7c768b927743ab5f69dfe30e283fb371b466b511.zip | |
Merge pull request #12070 from wambash/challenge-week-322
solutions week 322
| -rw-r--r-- | challenge-322/wambash/raku/ch-1.raku | 23 | ||||
| -rw-r--r-- | challenge-322/wambash/raku/ch-2.raku | 19 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-322/wambash/raku/ch-1.raku b/challenge-322/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..657faeaa3a --- /dev/null +++ b/challenge-322/wambash/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +sub string-format ($str,:$i=3) { + $str + andthen .comb: /<-[-]>/ + andthen .reverse + andthen .batch: $i + andthen .map: *.reverse.join + andthen .reverse + andthen .join: '-' +} + +multi MAIN (Bool :test($)!) { + use Test; + is string-format('ABC-D-E-F',:3i), 'ABC-DEF'; + is string-format('A-BC-D-E',:2i), 'A-BC-DE'; + is string-format('A-B-CD-E',:4i), 'A-BCDE'; + done-testing; +} + +multi MAIN ($str,:$i=3) { + say string-format $str,:$i; +} diff --git a/challenge-322/wambash/raku/ch-2.raku b/challenge-322/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..4b22eca1df --- /dev/null +++ b/challenge-322/wambash/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub rank-array (+ints) { + my %ranks := %( ints.sort.squish.antipairs ); + + ints.map: { %ranks{$_} + 1 } +} + +multi MAIN (Bool :test($)!) { + use Test; + is rank-array(55,22,44,33), (4,1,3,2); + is rank-array(10,10,10), (1,1,1); + is rank-array(5,1,1,4,3), (4,1,1,3,2); + done-testing; +} + +multi MAIN (+ints) { + put rank-array ints; +} |
