aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author冯昶 <fengchang@novel-supertv.com>2023-03-27 16:28:08 +0800
committer冯昶 <fengchang@novel-supertv.com>2023-03-27 16:28:08 +0800
commit2c6794aaed8aaa595b2a04af5a13937d5609d017 (patch)
tree10985bf8781038efd740946c7f884db36aa45a44
parent8915a66de2cb2a724aee5e55ddfc15580cfdf1d5 (diff)
downloadperlweeklychallenge-club-2c6794aaed8aaa595b2a04af5a13937d5609d017.tar.gz
perlweeklychallenge-club-2c6794aaed8aaa595b2a04af5a13937d5609d017.tar.bz2
perlweeklychallenge-club-2c6794aaed8aaa595b2a04af5a13937d5609d017.zip
challenge 210, raku solutions
-rwxr-xr-xchallenge-210/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-210/feng-chang/raku/ch-2.raku22
2 files changed, 27 insertions, 0 deletions
diff --git a/challenge-210/feng-chang/raku/ch-1.raku b/challenge-210/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..00f85f4f06
--- /dev/null
+++ b/challenge-210/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N where @N.all ~~ Int);
+
+put @N.minmax.map(-> \m { @N.grep(-> \s { abs(m - s) ≤ 1 }).sum }).max;
diff --git a/challenge-210/feng-chang/raku/ch-2.raku b/challenge-210/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..6e76da9bed
--- /dev/null
+++ b/challenge-210/feng-chang/raku/ch-2.raku
@@ -0,0 +1,22 @@
+#!/bin/env raku
+
+unit sub MAIN(*@N where @N.all ~~ Int);
+
+loop {
+ last if [≤] @N».sign;
+
+ for ^(+@N-1) -> $i {
+ if @N[$i].sign > @N[$i+1].sign {
+ @N.splice(
+ $i, 2, do given @N[$i].abs <=> @N[$i+1].abs {
+ when Order::Less { @N[$i+1] }
+ when Order::More { @N[$i] }
+ when Order::Same { [] }
+ }
+ );
+ last;
+ }
+ }
+}
+
+put @N.join(', ');