17 lines
559 B
Haskell
17 lines
559 B
Haskell
module Main where
|
|
|
|
main :: IO ()
|
|
main = do
|
|
input <- getContents
|
|
let numbers = map (read :: String -> Integer) (lines input)
|
|
putStr "part 1: "
|
|
let zippedInts = zip numbers (tail numbers)
|
|
-- let count = filter (\(x,y) -> y > x) zippedInts
|
|
let count = filter (<0) (zipWith (-) numbers (tail numbers))
|
|
putStrLn $ show $ length count
|
|
|
|
putStr "part 2: "
|
|
let sums = zipWith3 (\x y z -> x + y + z) numbers (tail numbers) (tail (tail numbers))
|
|
putStrLn $ show $ length $ filter (<0) $ zipWith (-) sums (tail sums)
|
|
return ()
|