[hs] Solve 2020_06

This commit is contained in:
Joscha 2020-12-06 10:33:10 +00:00
parent eb8a9795ed
commit 75fa851ff5
2 changed files with 27 additions and 0 deletions

View file

@ -8,6 +8,7 @@ import qualified Aoc.Y2020.D02 as D02
import qualified Aoc.Y2020.D03 as D03
import qualified Aoc.Y2020.D04 as D04
import qualified Aoc.Y2020.D05 as D05
import qualified Aoc.Y2020.D06 as D06
days :: [Day]
days =
@ -16,4 +17,5 @@ days =
, D03.day
, D04.day
, D05.day
, D06.day
]

25
hs/src/Aoc/Y2020/D06.hs Normal file
View file

@ -0,0 +1,25 @@
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