Day 1 Part 2

This commit is contained in:
Nathan McCarty 2022-12-01 11:06:04 -05:00
parent 34d5494402
commit 3afb01ca78
Signed by: thatonelutenist
GPG Key ID: D70DA3DD4D1E9F96
1 changed files with 15 additions and 3 deletions

View File

@ -2,18 +2,30 @@ import System.File.ReadWrite
import Data.String import Data.String
import Data.List1 import Data.List1
part1 : String -> IO () parseInput : String -> List1 (List Int)
part1 input = parseInput input =
let inputLines = lines input let inputLines = lines input
grouped = split (== "") inputLines grouped = split (== "") inputLines
parsed = map (map cast) grouped in map (map cast) grouped
part1 : String -> IO ()
part1 input =
let parsed = parseInput input
totals = map (foldr (+) 0) parsed totals = map (foldr (+) 0) parsed
in do printLn $ foldr max 0 totals in do printLn $ foldr max 0 totals
part2 : String -> IO ()
part2 input =
let parsed = parseInput input
totals = map (foldr (+) 0) parsed
sorted = reverse . sort . forget $ totals
main : IO () main : IO ()
main = do file <- readFile "input" main = do file <- readFile "input"
case file of case file of
Right content => Right content =>
do putStr "Part 1: " do putStr "Part 1: "
part1 content part1 content
putStr "Part 2: "
part2 content
Left err => printLn err Left err => printLn err