Day 4: Initial version

Now to look at other solutions
This commit is contained in:
shu 2019-12-04 08:02:39 +01:00
parent 8cfca9295e
commit a07b6fba16

28
2019/day4/day4.hs Normal file
View File

@ -0,0 +1,28 @@
import Data.List
main = do
let bottom = 130254
let top = 678275
print (day4a bottom top)
print (day4b bottom top)
day4a bottom top = dumbbrute bottom top p 0
day4b bottom top = dumbbrute bottom top p' 0
dumbbrute x y p acc
| x'<=y = dumbbrute x' y p (if p (numexpl x) then acc+1 else acc)
| otherwise = acc
where x' = succ x
p x
| sort x /= x = False
| nub x == x = False
| otherwise = True
p' x
| sort x /= x = False
| 2 `elem` (map length $ group x) = True
| otherwise = False
numexpl 0 = []
numexpl x = numexpl (x `div` 10) ++ [x `mod` 10]