aboutsummaryrefslogtreecommitdiff
path: root/challenge-285/ulrich-rieke/haskell/ch-1.hs
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-285/ulrich-rieke/haskell/ch-1.hs')
-rwxr-xr-xchallenge-285/ulrich-rieke/haskell/ch-1.hs19
1 files changed, 19 insertions, 0 deletions
diff --git a/challenge-285/ulrich-rieke/haskell/ch-1.hs b/challenge-285/ulrich-rieke/haskell/ch-1.hs
new file mode 100755
index 0000000000..0ddcd35d73
--- /dev/null
+++ b/challenge-285/ulrich-rieke/haskell/ch-1.hs
@@ -0,0 +1,19 @@
+module Challenge285
+ where
+import Data.List.Split ( splitOn )
+
+solution :: String -> String
+solution input =
+ let routes = splitOn "," input
+ routepairs = map (\li -> (head li , last li ) ) $ map ( concat .
+ splitOn " " ) routes
+ starts = map fst routepairs
+ destinations = map snd routepairs
+ in filter (\dest -> notElem dest starts ) destinations
+
+main :: IO ( )
+main = do
+ putStrLn "Enter some routes, separated by ','!"
+ putStrLn "Separate start and destination by a blank!"
+ allRoutes <- getLine
+ print $ solution allRoutes