Removed arithmetic
[advent-of-code-21.git] / advent01 / Main.hs
1 import Data.List
2
3 main :: IO ()
4 main =
5 do numStrs <- readFile "data/advent01.txt"
6 let nums = map (read @Int) $ lines numStrs
7 print $ part1 nums
8 print $ part2 nums
9
10 part1 :: [Int] -> Int
11 part1 = countIncreasing
12
13 part2 :: [Int] -> Int
14 part2 nums = countIncreasing $ map sum windows
15 where windows = filter ((== 3) . length) $ map (take 3) $ tails nums
16
17 countIncreasing :: [Int] -> Int
18 -- countIncreasing nums = length $ filter (> 0) $ zipWith (-) (tail nums) nums
19 countIncreasing nums = length $ filter (uncurry (>)) $ zip (tail nums) nums