diff --git a/src/Day02.hs b/src/Day02.hs index 62cd322..300cf0e 100644 --- a/src/Day02.hs +++ b/src/Day02.hs @@ -7,7 +7,8 @@ part1 strs = (length . filter (count 2) $ strs) * (length . filter (count 3) $ s where count n = any (== n) . map length . group . sort part2 :: [String] -> String -part2 strs = head [ls `intersect` rs | ls <- strs, rs <- strs, length (ls \\ rs) == 1] +part2 strs = head [xs `intersect` ys | xs <- strs, ys <- strs, dist xs ys == 1] + where dist = (length .) . (filter id .) . zipWith (/=) main :: IO () main = do