module Days.D01 where import Lib (Day, Parser, definitive, parsecDay) import Parse (number, someLines) import Data.List (sortBy) type Intermediate = [[Int]] parser :: Parser Intermediate parser = someLines (someLines number) part1 :: Intermediate -> Int part1 = maximum . map sum part2 :: Intermediate -> Int part2 = sum . take 3 . sortBy (flip compare) . map sum day :: Day day = parsecDay parser (definitive . part1, definitive . part2)