diff options
-rw-r--r-- | 2021/12.hs | 5 | ||||
-rw-r--r-- | 2021/13.hs | 5 | ||||
-rw-r--r-- | 2021/Util.hs | 5 |
3 files changed, 5 insertions, 10 deletions
@@ -12,11 +12,6 @@ import Input import Util -uniq :: Eq a => [a] -> [a] -uniq (x : y : xs) | x == y = uniq (y : xs) - | otherwise = x : uniq (y : xs) -uniq l = l - main :: IO () main = do inp <- getInput 12 @@ -8,11 +8,6 @@ import Input import Util -uniq :: Eq a => [a] -> [a] -uniq (x : y : xs) | x == y = uniq (y : xs) - | otherwise = x : uniq (y : xs) -uniq l = l - generate :: A.Ix i => (i, i) -> (i -> a) -> A.Array i a generate bounds f = A.listArray bounds (map f (A.range bounds)) diff --git a/2021/Util.hs b/2021/Util.hs index f021a88..1553c4c 100644 --- a/2021/Util.hs +++ b/2021/Util.hs @@ -13,3 +13,8 @@ splitOn f (x:xs) | f x = [] <| splitOn f xs splits' :: [a] -> [(a, [a])] splits' l = zip l (zipWith (++) (inits l) (tail (tails l))) + +uniq :: Eq a => [a] -> [a] +uniq (x : y : xs) | x == y = uniq (y : xs) + | otherwise = x : uniq (y : xs) +uniq l = l |