aoc2021/hs/01.2.hs
2021-12-02 18:21:23 +07:00

10 lines
340 B
Haskell

import System.IO
main = print . snd . foldl step ([], 0) . map (read :: String -> Int) . lines =<< readFile "../input/01"
step ([], sum) n = ([n], sum)
step ([a], sum) n = ([a, n], sum)
step ([a, b], sum) n = ([a, b, n], sum)
step ([a, b, c], sum) n = ([b, c, n], sum + if n > a then 1 else 0)
step :: ([Int], Int) -> Int -> ([Int], Int)