aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-08-06 20:32:05 +0100
committerGitHub <noreply@github.com>2023-08-06 20:32:05 +0100
commitf718ee56cf569728199a16395c9f31632ffe65f5 (patch)
tree5a1ce7ad58b0184bb8de50491a6cbc43d38b7032
parentf959e0f5ba28311c809d447258f29861404f04fb (diff)
parent3b968c10a09498739c1b059a33201983c1417012 (diff)
downloadperlweeklychallenge-club-f718ee56cf569728199a16395c9f31632ffe65f5.tar.gz
perlweeklychallenge-club-f718ee56cf569728199a16395c9f31632ffe65f5.tar.bz2
perlweeklychallenge-club-f718ee56cf569728199a16395c9f31632ffe65f5.zip
Merge pull request #8507 from wambash/challenge-week-228
solutions week 228
-rw-r--r--challenge-228/wambash/raku/ch-1.raku21
-rw-r--r--challenge-228/wambash/raku/ch-2.raku23
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-228/wambash/raku/ch-1.raku b/challenge-228/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..c1afad13c5
--- /dev/null
+++ b/challenge-228/wambash/raku/ch-1.raku
@@ -0,0 +1,21 @@
+ #!/usr/bin/env raku
+
+sub unique-sum (+int) {
+ int
+ andthen .Bag
+ andthen .nodemap: * == 1
+ andthen .keys
+ andthen .sum
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is unique-sum(2,1,3,2), 4;
+ is unique-sum(1,1,1,1), 0;
+ is unique-sum(2,1,3,4), 10;
+ done-testing;
+}
+
+multi MAIN (+int) {
+ say unique-sum int
+}
diff --git a/challenge-228/wambash/raku/ch-2.raku b/challenge-228/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..4c594ce9a6
--- /dev/null
+++ b/challenge-228/wambash/raku/ch-2.raku
@@ -0,0 +1,23 @@
+#!/usr/bin/env raku
+
+sub skip-or-rotate (@a) {
+ @a.head == @a.min ?? @a.skip !! @a.rotate
+}
+
+sub empty-array (+int) {
+ elems int, &skip-or-rotate ...^ :!elems
+
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is skip-or-rotate((3,4,2)), (4,2,3);
+ is skip-or-rotate((1,2,3)), (2,3);
+ is empty-array(3,4,2), 5;
+ is empty-array(1,2,3), 3;
+ done-testing;
+}
+
+multi MAIN (+int) {
+ say empty-array int
+}