aboutsummaryrefslogtreecommitdiff
path: root/challenge-083
diff options
context:
space:
mode:
authorMark Anderson <mark@frontrangerunner.com>2020-10-25 09:47:47 -0600
committerMark Anderson <mark@frontrangerunner.com>2020-10-25 09:47:47 -0600
commit52f6ab1c20000f2336cb97f1e39ab92d6ad99ca3 (patch)
tree9d2de33a4836a8048fd7de101ce7623342ddcc6e /challenge-083
parent16fb390ac3330db31c02f25014133ca3809ae81d (diff)
downloadperlweeklychallenge-club-52f6ab1c20000f2336cb97f1e39ab92d6ad99ca3.tar.gz
perlweeklychallenge-club-52f6ab1c20000f2336cb97f1e39ab92d6ad99ca3.tar.bz2
perlweeklychallenge-club-52f6ab1c20000f2336cb97f1e39ab92d6ad99ca3.zip
slight improvements
Diffstat (limited to 'challenge-083')
-rw-r--r--challenge-083/mark-anderson/raku/ch-1.p63
-rw-r--r--challenge-083/mark-anderson/raku/ch-2.p613
2 files changed, 6 insertions, 10 deletions
diff --git a/challenge-083/mark-anderson/raku/ch-1.p6 b/challenge-083/mark-anderson/raku/ch-1.p6
index c001e08bc8..5211876e52 100644
--- a/challenge-083/mark-anderson/raku/ch-1.p6
+++ b/challenge-083/mark-anderson/raku/ch-1.p6
@@ -1,13 +1,10 @@
use Test;
-
plan 2;
my $S = "The Weekly Challenge";
-
ok words-length($S) == 6, "$S = 6";
$S = "The purpose of our lives is to be happy";
-
ok words-length($S) == 23, "$S = 23";
sub words-length($S) {
diff --git a/challenge-083/mark-anderson/raku/ch-2.p6 b/challenge-083/mark-anderson/raku/ch-2.p6
index 73732ade9d..0398c914d0 100644
--- a/challenge-083/mark-anderson/raku/ch-2.p6
+++ b/challenge-083/mark-anderson/raku/ch-2.p6
@@ -1,15 +1,14 @@
-unit sub MAIN(*@A where (.elems > 1 and .all ~~ UInt and .all > 0));
+subset Positive of UInt where * > 0;
+
+unit sub MAIN(*@A where (.all ~~ Positive and .elems > 1));
my $A = gather {
- for @A.keys.combinations.skip -> @C {
+ for @A.keys.combinations(1..@A.end) -> @C {
my @N = @A;
@N[@C].map(* *= -1);
take [@N.sum, @C.elems, @N] if @N.sum >= 0;
}
}
-my ($Sum, $A2) = (min classify { .[0] }, $A).kv;
-my ($Flips, $A3) = (min classify { .[1] }, |$A2).kv;
-
-say "Sum = $Sum\nFlips = $Flips\n";
-say .[2].fmt("(%d)", " + ") for |$A3;
+say $A.classify(*[0]).min.value.
+ classify(*[1]).min.key;