Files
aoc/2015/day1.hs
Xavier Morel 1dd8c83ee6 Add 2015 day 1
2019-12-02 09:18:11 +01:00

13 lines
310 B
Haskell

import Data.List
day1steps :: [Char] -> [Int]
day1steps xs = [if x == '(' then 1 else -1 | x <- xs]
day1p1 :: [Char] -> Int
day1p1 xs = sum(day1steps xs)
day1p2 :: [Char] -> Maybe Int
day1p2 xs = findIndex (== entrance) steps
where steps = scanl (\acc x -> acc + x) 0 (day1steps xs)
entrance = -1