[hs] Solve 2020_06
This commit is contained in:
parent
eb8a9795ed
commit
75fa851ff5
2 changed files with 27 additions and 0 deletions
|
|
@ -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
25
hs/src/Aoc/Y2020/D06.hs
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue