aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2024-03-31 23:31:42 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2024-03-31 23:31:42 +0200
commitcc33227dad734c676bec0f072e78513884550b95 (patch)
tree64a8aba924f443bbd7d6d75fcd9224e59aa2a1df
parentfdeee3349654c610d6ed2f4aca69ef8985e3c094 (diff)
downloadperlweeklychallenge-club-cc33227dad734c676bec0f072e78513884550b95.tar.gz
perlweeklychallenge-club-cc33227dad734c676bec0f072e78513884550b95.tar.bz2
perlweeklychallenge-club-cc33227dad734c676bec0f072e78513884550b95.zip
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..5fc00ac483
--- /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,:$k) {
+ say count-equal-divisible +ints,:$k
+}