aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-05-25 10:02:43 +0100
committerGitHub <noreply@github.com>2025-05-25 10:02:43 +0100
commit7c768b927743ab5f69dfe30e283fb371b466b511 (patch)
tree8d385e1b2f682aa22003237bea7a3ecafcd05984
parent4b37354146bf46d3e8719156374dd802aa9dac71 (diff)
parentc84fa3a7f7e470844a68a46788cb616194d7318f (diff)
downloadperlweeklychallenge-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.raku23
-rw-r--r--challenge-322/wambash/raku/ch-2.raku19
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;
+}