diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2021-05-31 21:32:53 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-31 21:32:53 +0100 |
| commit | 5339668b0eb9fc3dc3de93badfaea9ffaa2ecd0c (patch) | |
| tree | d71afbd3818931851eafa60ae5a07a23640f877b /challenge-115 | |
| parent | 9d6b90d66f8a2efda4bd7745e1305abe83b1ab4f (diff) | |
| parent | 2ae4c72984a919f2ce24c952667492b202e298a1 (diff) | |
| download | perlweeklychallenge-club-5339668b0eb9fc3dc3de93badfaea9ffaa2ecd0c.tar.gz perlweeklychallenge-club-5339668b0eb9fc3dc3de93badfaea9ffaa2ecd0c.tar.bz2 perlweeklychallenge-club-5339668b0eb9fc3dc3de93badfaea9ffaa2ecd0c.zip | |
Merge pull request #4176 from stuart-little/stuart-little_115_raku
1st commit on 115_raku
Diffstat (limited to 'challenge-115')
| -rwxr-xr-x | challenge-115/stuart-little/raku/ch-1.p6 | 15 | ||||
| -rwxr-xr-x | challenge-115/stuart-little/raku/ch-2.p6 | 8 |
2 files changed, 23 insertions, 0 deletions
diff --git a/challenge-115/stuart-little/raku/ch-1.p6 b/challenge-115/stuart-little/raku/ch-1.p6 new file mode 100755 index 0000000000..5a5044ab4e --- /dev/null +++ b/challenge-115/stuart-little/raku/ch-1.p6 @@ -0,0 +1,15 @@ +#!/usr/bin/env perl6 +use v6; + +# run <script> <space-separated strings> + +sub canChain(@words,$start,$end) { + (! @words.elems) && return 0; + @words.elems == 1 && do { + return (@words[0].substr(0,1) eq $start && @words[0].substr(*-1) eq $end).Int; + }; + my @startIdxs = @words.keys.grep({ @words[$_].substr(0,1) eq $start }); + return @startIdxs.map({ canChain(@words[(@words.keys (-) $_).keys.sort], substr(@words[$_],*-1), $end) }).any.Bool.Int; +} + +((@*ARGS.elems < 2) ?? (0) !! (canChain(@*ARGS[1..*],substr(@*ARGS[0],*-1),substr(@*ARGS[0],0,1)))).say; diff --git a/challenge-115/stuart-little/raku/ch-2.p6 b/challenge-115/stuart-little/raku/ch-2.p6 new file mode 100755 index 0000000000..f563f38fc7 --- /dev/null +++ b/challenge-115/stuart-little/raku/ch-2.p6 @@ -0,0 +1,8 @@ +#!/usr/bin/env perl6 +use v6; + +# run <script> <space-separated digits> + +my $attemptedOut = S/(.)(<[13579]>*)$/$1$0/ with @*ARGS.sort({ $^b leg $^a }).join(""); +say(($attemptedOut ~~ m/<[02468]>$/) ?? ($attemptedOut) !! ("No even digits..")); + |
