From b07bc495bb62ccb21dfae7db5a6ac3c0e7381ab8 Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Sun, 2 Dec 2018 09:28:02 -0800 Subject: [PATCH] Day 02 - (\) deletes the first occurrence, so back to using zip + filter. --- src/Day02.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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