diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2025-05-24 20:26:30 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2025-05-24 20:26:30 +0200 |
| commit | c84fa3a7f7e470844a68a46788cb616194d7318f (patch) | |
| tree | e72f990f1a53400cc1a8e4ca7785ddece24be2b6 | |
| parent | d9a8a0d7aba084dc687dd97473f8739db9387b5c (diff) | |
| download | perlweeklychallenge-club-c84fa3a7f7e470844a68a46788cb616194d7318f.tar.gz perlweeklychallenge-club-c84fa3a7f7e470844a68a46788cb616194d7318f.tar.bz2 perlweeklychallenge-club-c84fa3a7f7e470844a68a46788cb616194d7318f.zip | |
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; +} |
