diff --git a/2022/day04/day04.hs b/2022/day04/day04.hs index 9b58655..ca4ced5 100644 --- a/2022/day04/day04.hs +++ b/2022/day04/day04.hs @@ -10,12 +10,8 @@ main = do parse :: String -> [[[Int]]] parse = map (map ((\[x,y]->[read x .. read y]) . splitOn "-") . splitOn ",") . lines -testEnclave :: [[Int]] -> Bool -testEnclave (x:y:[]) = a == x || a == y - where a = x `intersect` y - day4a :: [[[Int]]] -> Int -day4a = sum . map (fromEnum . testEnclave) +day4a = sum . map (fromEnum . (\[x,y] -> x `isInfixOf` y) . sortOn length) day4b :: [[[Int]]] -> Int day4b = sum . map (fromEnum . not . null . foldl1 intersect)