Files
aoc-2022/src/Days/D01.hs

20 lines
391 B
Haskell
Raw Normal View History

2023-08-27 22:30:00 +02:00
module Days.D01 where
2023-08-30 09:32:12 +02:00
import Common
2023-08-27 22:30:00 +02:00
import Data.List (sortBy)
2023-08-30 09:32:12 +02:00
import Parse
2023-08-27 22:30:00 +02:00
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)