diff options
| author | Mark Anderson <mark@frontrangerunner.com> | 2020-10-25 09:47:47 -0600 |
|---|---|---|
| committer | Mark Anderson <mark@frontrangerunner.com> | 2020-10-25 09:47:47 -0600 |
| commit | 52f6ab1c20000f2336cb97f1e39ab92d6ad99ca3 (patch) | |
| tree | 9d2de33a4836a8048fd7de101ce7623342ddcc6e /challenge-083 | |
| parent | 16fb390ac3330db31c02f25014133ca3809ae81d (diff) | |
| download | perlweeklychallenge-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.p6 | 3 | ||||
| -rw-r--r-- | challenge-083/mark-anderson/raku/ch-2.p6 | 13 |
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; |
