[hs] Use dayParser for 2020_01
This commit is contained in:
parent
320fc25e06
commit
9d02c4344d
1 changed files with 6 additions and 4 deletions
|
|
@ -5,6 +5,7 @@ module Aoc.Y2020.D01
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
|
|
||||||
import Aoc.Day
|
import Aoc.Day
|
||||||
|
import Aoc.Parse
|
||||||
|
|
||||||
findPair :: [Integer] -> (Integer, Integer)
|
findPair :: [Integer] -> (Integer, Integer)
|
||||||
findPair l = head $ do
|
findPair l = head $ do
|
||||||
|
|
@ -21,10 +22,11 @@ findTriple l = head $ do
|
||||||
guard $ a + b + c == 2020
|
guard $ a + b + c == 2020
|
||||||
pure (a, b, c)
|
pure (a, b, c)
|
||||||
|
|
||||||
solve202001 :: FilePath -> IO ()
|
parser :: Parser [Integer]
|
||||||
solve202001 f = do
|
parser = manyLines decimal
|
||||||
values <- map read . lines <$> readFile f
|
|
||||||
|
|
||||||
|
solver :: [Integer] -> IO ()
|
||||||
|
solver values = do
|
||||||
putStrLn ">> Part 1"
|
putStrLn ">> Part 1"
|
||||||
let (x1, x2) = findPair values
|
let (x1, x2) = findPair values
|
||||||
putStrLn $ show x1 ++ " * " ++ show x2 ++ " = " ++ show (x1 * x2)
|
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)
|
putStrLn $ show y1 ++ " * " ++ show y2 ++ " * " ++ show y3 ++ " = " ++ show (y1 * y2 * y3)
|
||||||
|
|
||||||
day :: Day
|
day :: Day
|
||||||
day = dayFile "2020_01" solve202001
|
day = dayParser "2020_01" parser solver
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue