diff options
| author | 2colours <polgar.marton@windowslive.com> | 2024-05-12 21:09:56 +0200 |
|---|---|---|
| committer | 2colours <polgar.marton@windowslive.com> | 2024-05-12 21:09:56 +0200 |
| commit | 77244cdd27ba9369ded9f12d06f495f7dab42d2e (patch) | |
| tree | 0eea77507090cd6595832cfebb1e7eb50cd2e4a3 | |
| parent | 03929010d2e6003bcc0d8224af773752f3fbffd4 (diff) | |
| download | perlweeklychallenge-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.raku | 12 | ||||
| -rw-r--r-- | challenge-262/2colours/raku/ch-2.raku | 16 |
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 |
