Advertisement
Nevoic

AOC 2020 Day 2

Dec 2nd, 2020
1,314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import Data.List.Split
  2. import Control.Monad
  3.  
  4. main = do
  5.   passwords <- map ((\[x,y,c,s] -> (read x, read y, head c, s)) . filter (not . null) . splitOneOf "-: ") . lines <$> readFile "data.txt"
  6.   let part1 (x,y,c,s) = length (filter (== c) s) `elem` [x..y]
  7.   let part2 (x,y,c,s) = ((s !! (x - 1)) == c) /= ((s !! (y - 1)) == c)
  8.   forM_ [part1, part2] $ \p -> print . length $ filter p passwords
  9.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement