aboutsummaryrefslogtreecommitdiff
path: root/0008/main.hs
diff options
context:
space:
mode:
Diffstat (limited to '0008/main.hs')
-rw-r--r--0008/main.hs13
1 files changed, 13 insertions, 0 deletions
diff --git a/0008/main.hs b/0008/main.hs
new file mode 100644
index 0000000..c852fa7
--- /dev/null
+++ b/0008/main.hs
@@ -0,0 +1,13 @@
+import Data.Char (digitToInt)
+import Data.Maybe (catMaybes)
+
+findMax13 numbers =
+ foldl1 max $ map (\i -> subArrayProduct i 13) [0..((length numbers) - 13)]
+ where
+ subArrayProduct start length =
+ product $ take length (drop start numbers)
+
+main = do
+ contents <- readFile "input"
+ let max13 = findMax13 $ map digitToInt $ filter (\c -> c >= '0' && c <= '9') contents in
+ putStrLn $ show max13