aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-04-01 00:51:04 +0100
committerGitHub <noreply@github.com>2024-04-01 00:51:04 +0100
commitfe8e01d1c7abe2f8f5a390e5fc6da5882a8087f2 (patch)
tree4fe8d35622b89336a4349d1034b6da6f7daf522a
parente30ac45a8c0f9852aa17ff2264cc813c83cbaf9f (diff)
parent9ef759de099a7e8117d2cbf8a00d6932344225c0 (diff)
downloadperlweeklychallenge-club-fe8e01d1c7abe2f8f5a390e5fc6da5882a8087f2.tar.gz
perlweeklychallenge-club-fe8e01d1c7abe2f8f5a390e5fc6da5882a8087f2.tar.bz2
perlweeklychallenge-club-fe8e01d1c7abe2f8f5a390e5fc6da5882a8087f2.zip
Merge pull request #9844 from wambash/challenge-week-262
solutions week 262
-rw-r--r--challenge-262/wambash/raku/ch-1.raku20
-rw-r--r--challenge-262/wambash/raku/ch-2.raku22
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-262/wambash/raku/ch-1.raku b/challenge-262/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..da37b4ebe4
--- /dev/null
+++ b/challenge-262/wambash/raku/ch-1.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub max-positive-negative (+ints) {
+ ints
+ andthen .classify: *.sign
+ andthen .nodemap: *.elems
+ andthen .{-1,1}.max
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is max-positive-negative(-3,1,2,-1,3,-2,4),4;
+ is max-positive-negative(-1, -2, -3, 1), 3;
+ is max-positive-negative(1,2), 2;
+ done-testing;
+}
+
+multi MAIN (+ints) {
+ say max-positive-negative ints
+}
diff --git a/challenge-262/wambash/raku/ch-2.raku b/challenge-262/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..d3f20cc3b7
--- /dev/null
+++ b/challenge-262/wambash/raku/ch-2.raku
@@ -0,0 +1,22 @@
+#!/usr/bin/env raku
+
+sub count-equal-divisible (+ints,:$k) {
+ ints
+ andthen .pairs
+ andthen .classify: *.value, as => *.key
+ andthen .values
+ andthen .map: |*.combinations(2).map: -> (\x,\y) {x * y}\
+ andthen .grep: { $_ %% $k }\
+ andthen .elems
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is count-equal-divisible(3,1,2,2,2,1,3):2k,4;
+ is count-equal-divisible(1,2,3):1k,0;
+ done-testing;
+}
+
+multi MAIN (+ints,Int :$k) {
+ say count-equal-divisible ints,:$k
+}