aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author2colours <polgar.marton@windowslive.com>2024-05-12 21:09:56 +0200
committer2colours <polgar.marton@windowslive.com>2024-05-12 21:09:56 +0200
commit77244cdd27ba9369ded9f12d06f495f7dab42d2e (patch)
tree0eea77507090cd6595832cfebb1e7eb50cd2e4a3
parent03929010d2e6003bcc0d8224af773752f3fbffd4 (diff)
downloadperlweeklychallenge-club-77244cdd27ba9369ded9f12d06f495f7dab42d2e.tar.gz
perlweeklychallenge-club-77244cdd27ba9369ded9f12d06f495f7dab42d2e.tar.bz2
perlweeklychallenge-club-77244cdd27ba9369ded9f12d06f495f7dab42d2e.zip
Week #262 solutions in Raku
-rw-r--r--challenge-262/2colours/raku/ch-1.raku12
-rw-r--r--challenge-262/2colours/raku/ch-2.raku16
2 files changed, 28 insertions, 0 deletions
diff --git a/challenge-262/2colours/raku/ch-1.raku b/challenge-262/2colours/raku/ch-1.raku
new file mode 100644
index 0000000000..b574e442b8
--- /dev/null
+++ b/challenge-262/2colours/raku/ch-1.raku
@@ -0,0 +1,12 @@
+#!/usr/bin/env raku
+
+my token integer { 0 | '-'? <[1..9]> <[0..9]>* }
+subset IntList of Str where /^ '(' <integer>* % ',' ')' $/;
+
+sub MAIN(
+ $ints
+) {
+ die 'Please provide valid input for @ints' unless $ints.subst(/\s/, '', :g) ~~ IntList;
+ my Int() @ints = $<integer>;
+ @ints.grep(* != 0).classify(*.sign).map(*.value.elems).max.say;
+} \ No newline at end of file
diff --git a/challenge-262/2colours/raku/ch-2.raku b/challenge-262/2colours/raku/ch-2.raku
new file mode 100644
index 0000000000..95733dc291
--- /dev/null
+++ b/challenge-262/2colours/raku/ch-2.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+my token integer { 0 | '-'? <[1..9]> <[0..9]>* }
+subset IntList of Str where /^ '(' <integer>* % ',' ')' $/;
+
+sub MAIN(
+ $ints, Int $k
+) {
+ die 'Please provide valid input for @ints' unless $ints.subst(/\s/, '', :g) ~~ IntList;
+ my Int() @ints = $<integer>;
+ @ints.kv.map(-> $index, $value {
+ my $needed-factor = $k div ($k gcd $index);
+ my $next-valid = ceiling(($index + 1) / $needed-factor) * $needed-factor;
+ @ints[$next-valid, $next-valid + $needed-factor ...^ @ints.elems].grep($value).elems
+ }).sum.say;
+} \ No newline at end of file