Initial Commit
This commit is contained in:
20
src/Days/D01.hs
Normal file
20
src/Days/D01.hs
Normal file
@@ -0,0 +1,20 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user