Tidying
authorNeil Smith <neil.git@njae.me.uk>
Sun, 4 Dec 2016 12:12:27 +0000 (12:12 +0000)
committerNeil Smith <neil.git@njae.me.uk>
Sun, 4 Dec 2016 12:12:27 +0000 (12:12 +0000)
advent04.hs

index 5ad205e9add09859cb00fc9d9c6fc5514349d4d5..fb2839ece8accc5aadc20d24d091f5ce39bb9e18 100644 (file)
@@ -2,7 +2,6 @@ import Data.List (last, intersperse, sortBy, intercalate, isInfixOf)
 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
-import Data.Tuple (swap)
 
 data Room = Room { name :: String
                  , sector :: Int
 
 data Room = Room { name :: String
                  , sector :: Int
@@ -26,7 +25,7 @@ part1 rooms = do
 
 part2 :: [Room] -> IO ()
 part2 rooms = do 
 
 part2 :: [Room] -> IO ()
 part2 rooms = do 
-    print $ filter (\sn -> isInfixOf "north" (snd sn)) sectorNames
+    print $ fst $ head $ filter (\sn -> isInfixOf "north" (snd sn)) sectorNames
     where 
         validChecksum room = (checksum room) == makeChecksum (name room)
         validRooms = filter (validChecksum) rooms
     where 
         validChecksum room = (checksum room) == makeChecksum (name room)
         validRooms = filter (validChecksum) rooms
@@ -37,7 +36,6 @@ 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 = concat $ intersperse "-" $ reverse $ tail $ reverse components
           name = intercalate "-" $ reverse $ tail $ reverse components
           sector = read $ head $ splitOn "[" $ last components
           checksum = filter (isLetter) $ last components
           name = intercalate "-" $ reverse $ tail $ reverse components
           sector = read $ head $ splitOn "[" $ last components
           checksum = filter (isLetter) $ last components