aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-05-31 21:19:21 +0100
committerGitHub <noreply@github.com>2021-05-31 21:19:21 +0100
commitfd120299148c2d0808838b273ed90646e1036ae9 (patch)
tree2e12ff5885a67fa540f8a8008b8a6830dba6602b
parent8dfee539b25e8a1b72ee1e3bf6ef723136de9866 (diff)
parent06a1b01f35363f755eae2ed2eab97a109dd7897f (diff)
downloadperlweeklychallenge-club-fd120299148c2d0808838b273ed90646e1036ae9.tar.gz
perlweeklychallenge-club-fd120299148c2d0808838b273ed90646e1036ae9.tar.bz2
perlweeklychallenge-club-fd120299148c2d0808838b273ed90646e1036ae9.zip
Merge pull request #4181 from andemark/branch-for-challenge-115
Challenge 115 Solutions (Raku)
-rw-r--r--challenge-115/mark-anderson/raku/ch-1.raku15
-rw-r--r--challenge-115/mark-anderson/raku/ch-2.raku22
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-115/mark-anderson/raku/ch-1.raku b/challenge-115/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..ee38d30e86
--- /dev/null
+++ b/challenge-115/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,15 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 2;
+
+is string-chain(<abc dea cd>), 1;
+is string-chain(<ade cbd fgh>), 0;
+
+sub string-chain(@words)
+{
+ my $heads = bag @words.map(*.substr(0, 1));
+ my $tails = bag @words.map(*.substr(*-1));
+
+ +($heads eqv $tails)
+}
diff --git a/challenge-115/mark-anderson/raku/ch-2.raku b/challenge-115/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..11149c9032
--- /dev/null
+++ b/challenge-115/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,22 @@
+#!/usr/bin/env raku
+
+use Test;
+plan 3;
+
+is largest-multiple(<1 0 2 6>), 6210;
+is largest-multiple(<1 4 2 8>), 8412;
+is largest-multiple(<4 1 7 6>), 7614;
+
+sub largest-multiple(@nums is copy)
+{
+ @nums .= sort({ $^b <=> $^a });
+ my $i = @nums.first(* %% 2, :end, :k);
+
+ if $i
+ {
+ my $tail = @nums.splice($i, 1);
+ return @nums.join ~ $tail;
+ }
+
+ return q{};
+}