aboutsummaryrefslogtreecommitdiff
path: root/challenge-083
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2021-01-16 18:53:59 -0500
committerchirvasitua <stuart-little@users.noreply.github.com>2021-01-16 18:53:59 -0500
commit496802db80de0a4428e436edc5751e48c1111c56 (patch)
tree188de958b2f55eede30c92e07fb2368f106c82af /challenge-083
parenta6e748740b94961a42892df4d1f6660bffa2e1ff (diff)
downloadperlweeklychallenge-club-496802db80de0a4428e436edc5751e48c1111c56.tar.gz
perlweeklychallenge-club-496802db80de0a4428e436edc5751e48c1111c56.tar.bz2
perlweeklychallenge-club-496802db80de0a4428e436edc5751e48c1111c56.zip
1st commit on 083_haskell
Diffstat (limited to 'challenge-083')
-rw-r--r--challenge-083/stuart-little/README2
-rwxr-xr-xchallenge-083/stuart-little/haskell/ch-1.hs9
-rwxr-xr-xchallenge-083/stuart-little/haskell/ch-2.hs14
3 files changed, 24 insertions, 1 deletions
diff --git a/challenge-083/stuart-little/README b/challenge-083/stuart-little/README
index 76119cbbb8..78439907de 100644
--- a/challenge-083/stuart-little/README
+++ b/challenge-083/stuart-little/README
@@ -1 +1 @@
-Solutions by Stuart Little.
+Solutions by Stuart Little
diff --git a/challenge-083/stuart-little/haskell/ch-1.hs b/challenge-083/stuart-little/haskell/ch-1.hs
new file mode 100755
index 0000000000..343d334492
--- /dev/null
+++ b/challenge-083/stuart-little/haskell/ch-1.hs
@@ -0,0 +1,9 @@
+#!/usr/bin/env runghc
+
+-- run <script> <quoted string>
+
+import System.Environment (getArgs,)
+
+main = do
+ ln <- getArgs >>= return.head >>= return.sum.(map length).init.tail.words
+ print ln
diff --git a/challenge-083/stuart-little/haskell/ch-2.hs b/challenge-083/stuart-little/haskell/ch-2.hs
new file mode 100755
index 0000000000..7f7413921b
--- /dev/null
+++ b/challenge-083/stuart-little/haskell/ch-2.hs
@@ -0,0 +1,14 @@
+#!/usr/bin/env runghc
+
+-- run <script> <space-separated numbers>
+
+import Data.List (subsequences,)
+import Data.List.Extra (minimumOn,groupSortOn,)
+import System.Environment (getArgs,)
+
+main = do
+ nrs <- getArgs >>= return.(map (read::String->Int))
+ let reslst = minimumOn length $ last $ groupSortOn sum $ filter ((<= (sum nrs)).(2*).sum) $ subsequences nrs
+ putStrLn "Change the sign(s) of:"
+ print reslst
+ putStrLn $ "Number of elements: " ++ (show $ length reslst)