From 06a1b01f35363f755eae2ed2eab97a109dd7897f Mon Sep 17 00:00:00 2001 From: Mark A Date: Mon, 31 May 2021 11:58:48 -0600 Subject: Challenge 115 Solutions (Raku) --- challenge-115/mark-anderson/raku/ch-1.raku | 15 +++++++++++++++ challenge-115/mark-anderson/raku/ch-2.raku | 22 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 challenge-115/mark-anderson/raku/ch-1.raku create mode 100644 challenge-115/mark-anderson/raku/ch-2.raku 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(), 1; +is string-chain(), 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{}; +} -- cgit