aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-192/alexander-pankoff/blog.txt1
-rwxr-xr-xchallenge-192/alexander-pankoff/haskell/ch-2.hs9
2 files changed, 8 insertions, 2 deletions
diff --git a/challenge-192/alexander-pankoff/blog.txt b/challenge-192/alexander-pankoff/blog.txt
new file mode 100644
index 0000000000..5e3c5269c8
--- /dev/null
+++ b/challenge-192/alexander-pankoff/blog.txt
@@ -0,0 +1 @@
+https://pankoff.net/pages/perl-weekly-challenge/challenge-192.html \ No newline at end of file
diff --git a/challenge-192/alexander-pankoff/haskell/ch-2.hs b/challenge-192/alexander-pankoff/haskell/ch-2.hs
index c436550291..c0d023a906 100755
--- a/challenge-192/alexander-pankoff/haskell/ch-2.hs
+++ b/challenge-192/alexander-pankoff/haskell/ch-2.hs
@@ -4,6 +4,7 @@ module Main where
import Test.HUnit
import Data.List (singleton)
+import GHC.Natural (Natural)
main = runTestTT
$ TestList
@@ -18,12 +19,16 @@ main = runTestTT
(Just 0)
(equalDistribution $ singleton 4)]
-equalDistribution :: [Int] -> Maybe Int
+equalDistribution :: [Int] -> Maybe Natural
equalDistribution [] = Just 0
equalDistribution xs =
let total = sum xs
target = total `div` length xs
isDistributable = total `mod` length xs == 0
in if isDistributable
- then Just $ sum $ map abs $ scanl (\a b -> a + b - target) 0 xs
+ then Just
+ $ fromIntegral
+ $ sum
+ $ map abs
+ $ scanl (\a b -> a + b - target) 0 xs
else Nothing \ No newline at end of file