advent-of-code/hs/src/Aoc/Y2020/D06.hs
2020-12-06 12:29:00 +00:00

25 lines
551 B
Haskell

module Aoc.Y2020.D06
( day
) where
import qualified Data.Set as Set
import Aoc.Day
import Aoc.Parse
type Group = [String]
parser :: Parser [Group]
parser = sepBy (endBy1 (some lowerChar) newline) newline
solver :: [Group] -> IO ()
solver groups = do
putStrLn ">> Part 1"
print $ sum $ map (Set.size . foldr1 Set.union . map Set.fromList) groups
putStrLn ""
putStrLn ">> Part 2"
print $ sum $ map (Set.size . foldr1 Set.intersection . map Set.fromList) groups
day :: Day
day = dayParse "2020_06" parser solver