Used init instead of reverse $ tail $ reverse
authorNeil Smith <neil.git@njae.me.uk>
Thu, 8 Dec 2016 09:51:24 +0000 (09:51 +0000)
committerNeil Smith <neil.git@njae.me.uk>
Thu, 8 Dec 2016 09:51:24 +0000 (09:51 +0000)
advent04.hs

index 135ad379ee7ba1b3fa0bfb8c15e0370afb59a4d1..b8c095ed4ca033040652a89564093a72a69e4c09 100644 (file)
@@ -1,6 +1,6 @@
 module Main(main) where
 
 module Main(main) where
 
-import Data.List (last, intersperse, sortBy, intercalate, isInfixOf)
+import Data.List (last, intersperse, sortBy, intercalate, isInfixOf, init)
 import Data.List.Split (splitOn)
 import Data.Char (isLetter, ord, chr)
 import qualified Data.Map.Lazy as Map
 import Data.List.Split (splitOn)
 import Data.Char (isLetter, ord, chr)
 import qualified Data.Map.Lazy as Map
@@ -38,7 +38,7 @@ part2 rooms = do
 parseLine :: String -> Room
 parseLine line = Room {name=name, sector=sector, checksum=checksum}
     where components = splitOn "-" line
 parseLine :: String -> Room
 parseLine line = Room {name=name, sector=sector, checksum=checksum}
     where components = splitOn "-" line
-          name = intercalate "-" $ reverse $ tail $ reverse components
+          name = intercalate "-" $ init components
           sector = read $ head $ splitOn "[" $ last components
           checksum = filter (isLetter) $ last components
 
           sector = read $ head $ splitOn "[" $ last components
           checksum = filter (isLetter) $ last components