aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2023-05-28 23:25:46 +0100
committerGitHub <noreply@github.com>2023-05-28 23:25:46 +0100
commit6890be063d8bf4a9e2314b328bc95eb1ba567654 (patch)
tree90c668595a588debf25978ae0448c11e1eb6914a
parente685e6dc9d4dea335d78d36beee7c595f266bee8 (diff)
parent2cba0a45e89af2b3c9c361cb5da5cde81b3ddc2f (diff)
downloadperlweeklychallenge-club-6890be063d8bf4a9e2314b328bc95eb1ba567654.tar.gz
perlweeklychallenge-club-6890be063d8bf4a9e2314b328bc95eb1ba567654.tar.bz2
perlweeklychallenge-club-6890be063d8bf4a9e2314b328bc95eb1ba567654.zip
Merge pull request #8150 from wambash/challenge-week-218
solution week 218-1
-rw-r--r--challenge-218/wambash/raku/ch-1.raku20
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-218/wambash/raku/ch-1.raku b/challenge-218/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..92631d7b89
--- /dev/null
+++ b/challenge-218/wambash/raku/ch-1.raku
@@ -0,0 +1,20 @@
+#!/usr/bin/env raku
+
+sub maximum-product (+@list) {
+ @list
+ andthen .sort.cache
+ andthen ([*] .tail(3)) max ([*] |.head(2), .tail)
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is maximum-product(3, 1, 2),6;
+ is maximum-product(4, 1, 3, 2),24;
+ is maximum-product(-1, 0, 1, 3, 1),3;
+ is maximum-product(-8, 2, -9, 0, -4, 3), 216;
+ done-testing;
+}
+
+multi MAIN (*@list) {
+ say maximum-product @list
+}