diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2020-11-08 14:42:45 -0500 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2020-11-08 14:42:45 -0500 |
| commit | 313334f8cfb42059e61aeb74b2fc05db43ab1653 (patch) | |
| tree | 3aedb58c66e2c89685504bf8c112e7a6fdf9ded4 /challenge-061 | |
| parent | 5b90afe957e0cff83a1d1cf7381a195a98b1f1ca (diff) | |
| download | perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.tar.gz perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.tar.bz2 perlweeklychallenge-club-313334f8cfb42059e61aeb74b2fc05db43ab1653.zip | |
initial commit on 040-042, 060-061, 063
Diffstat (limited to 'challenge-061')
| -rw-r--r-- | challenge-061/stuart-little/README | 1 | ||||
| -rwxr-xr-x | challenge-061/stuart-little/raku/ch-1.p6 | 10 | ||||
| -rwxr-xr-x | challenge-061/stuart-little/raku/ch-2.p6 | 21 |
3 files changed, 32 insertions, 0 deletions
diff --git a/challenge-061/stuart-little/README b/challenge-061/stuart-little/README new file mode 100644 index 0000000000..78439907de --- /dev/null +++ b/challenge-061/stuart-little/README @@ -0,0 +1 @@ +Solutions by Stuart Little diff --git a/challenge-061/stuart-little/raku/ch-1.p6 b/challenge-061/stuart-little/raku/ch-1.p6 new file mode 100755 index 0000000000..249d918d96 --- /dev/null +++ b/challenge-061/stuart-little/raku/ch-1.p6 @@ -0,0 +1,10 @@ +#!/usr/bin/env perl6 +use v6; + +sub maxprod(@a) { + (@a.keys X @a.keys).grep({ $_[0] <= $_[1]}).map({ @a[$_[0]..$_[1]]}).classify({ $_.reduce(&infix:<*>)}).sort(*.key).reverse.first.value +} + +@*ARGS.map(*.Int).&maxprod.say + +# run as <script> <space-separated numbers> diff --git a/challenge-061/stuart-little/raku/ch-2.p6 b/challenge-061/stuart-little/raku/ch-2.p6 new file mode 100755 index 0000000000..6b1860e589 --- /dev/null +++ b/challenge-061/stuart-little/raku/ch-2.p6 @@ -0,0 +1,21 @@ +#!/usr/bin/env perl6 +use v6; + +sub splc($s) { + (0..255).map({ $s ~~ /^($^a)(.*)/; $/ && ($0,$1)}).grep(* !~~ Nil).map(*.map(*.Str)) +} + +sub itr1($s) { + $s.map({ ($_[0..*-2], $_[*-1].&splc) }).map( -> $x {|$x[1].map( -> $y { |$x[0], |$y})}) +} + +sub iter($s,$n,&itr1) { + given $n { + when 0 {$s} + default { iter($s.&itr1, $n-1,&itr1)} + } +} + +say iter(@*ARGS[0],4,&itr1).grep(! *.[*-1]) + +# run as <script> <string> |
