1 -- Writeup at https://work.njae.me.uk/2022/12/01/advent-of-code-2022-day-1/
3 import System.Environment
9 do dataFileName <- getDataFileName
10 numStrs <- readFile dataFileName -- "data/advent01.txt"
11 let calories = fmap (fmap (read @Int)) $ splitWhen null $ lines numStrs
12 print $ part1 calories
13 print $ part2 calories
15 getDataFileName :: IO String
18 progName <- getProgName
19 let baseDataName = if null args
22 let dataFileName = "data/" ++ baseDataName ++ ".txt"
25 part1 :: [[Int]] -> Int
26 part1 = maximum . fmap sum
28 part2 :: [[Int]] -> Int
29 part2 = sum . take 3 . reverse . sort . fmap sum