2015 Day 05 in Haskell
This commit is contained in:
parent
bc148ac3b7
commit
a8ae522c3a
18
2015/day05/day05.hs
Normal file
18
2015/day05/day05.hs
Normal file
@ -0,0 +1,18 @@
|
||||
import Aoc
|
||||
import Text.Regex.PCRE
|
||||
|
||||
part1 :: [String] -> Int
|
||||
part1 = length . filter (\str -> hasVowels str && hasDouble str && not (hasForbidden str))
|
||||
where
|
||||
hasVowels = (=~ "([aeiou].*){3}")
|
||||
hasDouble = (=~ "(\\w)\\1")
|
||||
hasForbidden = (=~ "(ab|cd|pq|xy)")
|
||||
|
||||
part2 :: [String] -> Int
|
||||
part2 = length . filter (\str -> hasPair str && hasBetween str)
|
||||
where
|
||||
hasPair = (=~ "(\\w\\w).*\\1")
|
||||
hasBetween = (=~ "(\\w).\\1")
|
||||
|
||||
main :: IO ()
|
||||
main = aocMain id part1 part2
|
Loading…
Reference in New Issue
Block a user