Optimised day 19
[advent-of-code-22.git] / advent01 / Main.hs
index 5cf7d6a9adb4c7b65c3e980f49effa477583639c..cd136382bea6e7779b9a4e6902bdd438f329251d 100644 (file)
@@ -1,30 +1,22 @@
 -- Writeup at https://work.njae.me.uk/2022/12/01/advent-of-code-2022-day-1/
 
-import System.Environment
+import AoC
 import Data.List
 import Data.List.Split
+import Data.Ord
 
 main :: IO ()
 main = 
   do  dataFileName <- getDataFileName
-      numStrs <- readFile dataFileName -- "data/advent01.txt"
+      numStrs <- readFile dataFileName
       let calories = fmap (fmap (read @Int)) $ splitWhen null $ lines numStrs
       print $ part1 calories
       print $ part2 calories
 
-getDataFileName :: IO String
-getDataFileName =
-  do args <- getArgs
-     progName <- getProgName
-     let baseDataName =  if null args
-                         then progName
-                         else head args 
-     let dataFileName = "data/" ++ baseDataName ++ ".txt"
-     return dataFileName
-
 part1 :: [[Int]] -> Int
 part1 = maximum . fmap sum
 
 part2 :: [[Int]] -> Int
-part2 = sum . take 3 . reverse . sort . fmap sum
+-- part2 = sum . take 3 . reverse . sort . fmap sum
+part2 = sum . take 3 . sortOn Down . fmap sum