18 lines
466 B
Haskell
18 lines
466 B
Haskell
{-# LANGUAGE OverloadedStrings #-}
|
|
{-# OPTIONS_GHC -Wno-incomplete-patterns #-}
|
|
|
|
import qualified Data.Text as T
|
|
import Data.List
|
|
import GHC.Utils.Misc (count)
|
|
|
|
listHasOverlap :: (Eq a) => [a] -> [a] -> Bool
|
|
listHasOverlap a = not . null . intersect a
|
|
|
|
toRange :: [Int] -> [Int]
|
|
toRange [a, b] = [a .. b]
|
|
|
|
main = interact $
|
|
show
|
|
. count ((\[a,b] -> listHasOverlap a b)
|
|
. map (toRange . map (read . T.unpack) . T.splitOn "-") . T.splitOn "," . T.pack)
|
|
. lines |