From fd626a2f30ddb584ed21e001bdb2c24247fb022e Mon Sep 17 00:00:00 2001 From: shu Date: Wed, 4 Dec 2019 16:18:23 +0100 Subject: [PATCH] Add version with parsing I found this highly unnecessary but whatever --- 2019/day4/day4_withparse.hs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 2019/day4/day4_withparse.hs diff --git a/2019/day4/day4_withparse.hs b/2019/day4/day4_withparse.hs new file mode 100644 index 0000000..a25ecfd --- /dev/null +++ b/2019/day4/day4_withparse.hs @@ -0,0 +1,17 @@ +import Data.List +import Data.List.Split + +main = do + print (day4 p $ range "130254-678275") + print (day4 p' $ range "130254-678275") + +range :: String -> [Int] +range input = [a..b] where [a,b] = map read $ splitOn "-" input + +day4 p = sum . map (fromEnum . p . show) + +p x | sort x /= x = False + | nub x == x = False + | otherwise = True + +p' x = 2 `elem` (map length $ group x) && p x