aoc/2021/01/Main.hs

18 lines
471 B
Haskell

-- module Main (main, part1, part2) where
import Text.Printf (printf)
parseLine :: String -> Integer
parseLine = read
part1 numbers =
head [x * y | x <- numbers, y <- numbers, x + y == 2020]
part2 numbers=
head [x * y * z | x <- numbers, y <- numbers, z <- numbers, x + y + z == 2020]
main :: IO ()
main = do
numbers <- map parseLine . lines <$> readFile "input"
putStr $ printf "Part 1: %d\n" (part1 numbers)
putStr $ printf "Part 2: %d\n" (part2 numbers)