From 9d02c4344d495ef6b4f04c04c51e2b25ffc2ecd7 Mon Sep 17 00:00:00 2001 From: Joscha Date: Thu, 3 Dec 2020 01:35:35 +0000 Subject: [PATCH] [hs] Use dayParser for 2020_01 --- hs/src/Aoc/Y2020/D01.hs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/hs/src/Aoc/Y2020/D01.hs b/hs/src/Aoc/Y2020/D01.hs index 16e5bde..41842ec 100644 --- a/hs/src/Aoc/Y2020/D01.hs +++ b/hs/src/Aoc/Y2020/D01.hs @@ -5,6 +5,7 @@ module Aoc.Y2020.D01 import Control.Monad import Aoc.Day +import Aoc.Parse findPair :: [Integer] -> (Integer, Integer) findPair l = head $ do @@ -21,10 +22,11 @@ findTriple l = head $ do guard $ a + b + c == 2020 pure (a, b, c) -solve202001 :: FilePath -> IO () -solve202001 f = do - values <- map read . lines <$> readFile f +parser :: Parser [Integer] +parser = manyLines decimal +solver :: [Integer] -> IO () +solver values = do putStrLn ">> Part 1" let (x1, x2) = findPair values putStrLn $ show x1 ++ " * " ++ show x2 ++ " = " ++ show (x1 * x2) @@ -34,4 +36,4 @@ solve202001 f = do putStrLn $ show y1 ++ " * " ++ show y2 ++ " * " ++ show y3 ++ " = " ++ show (y1 * y2 * y3) day :: Day -day = dayFile "2020_01" solve202001 +day = dayParser "2020_01" parser solver