1
0
Fork 0

Fixed input imports due to 0 prefix for days 01 to 09.

This commit is contained in:
Jonathan Chan 2017-12-17 16:11:13 -08:00
parent 0ce9ae7665
commit 0a29e1e0b6
7 changed files with 7 additions and 7 deletions

2
01.hs
View File

@ -8,6 +8,6 @@ halfwaySum ns =
main :: IO () main :: IO ()
main = do main = do
nums <- fmap (map (read . pure)) $ readFile "1.txt" nums <- fmap (map (read . pure)) $ readFile "01.txt"
print $ circularSum nums print $ circularSum nums
print $ halfwaySum nums print $ halfwaySum nums

2
02.hs
View File

@ -10,6 +10,6 @@ divline ns =
main :: IO () main :: IO ()
main = do main = do
grid <- fmap (map (map read . words) . lines) $ readFile "2.txt" grid <- fmap (map (map read . words) . lines) $ readFile "02.txt"
print $ sum . map (\line -> maximum line - minimum line) $ grid print $ sum . map (\line -> maximum line - minimum line) $ grid
print $ sum . map divline $ grid print $ sum . map divline $ grid

2
04.hs
View File

@ -6,7 +6,7 @@ isPassphraseValid ws = sort ws == (toAscList . fromList) ws
main :: IO () main :: IO ()
main = do main = do
passphrases <- fmap (map words . lines) $ readFile "4.txt" passphrases <- fmap (map words . lines) $ readFile "04.txt"
let valids = sum $ map (fromEnum . isPassphraseValid) passphrases let valids = sum $ map (fromEnum . isPassphraseValid) passphrases
let stillValids = sum $ map (fromEnum . isPassphraseValid . (map sort)) passphrases let stillValids = sum $ map (fromEnum . isPassphraseValid . (map sort)) passphrases
print $ valids print $ valids

2
06.hs
View File

@ -33,5 +33,5 @@ cycles prevCount (prevBank, banks) =
main :: IO () main :: IO ()
main = do main = do
bank <- fmap (fromList . map read . words) $ readFile "6.txt" bank <- fmap (fromList . map read . words) $ readFile "06.txt"
print $ cycles 0 (bank, empty) print $ cycles 0 (bank, empty)

2
07.hs
View File

@ -66,7 +66,7 @@ findBalanced (Node _ forest) =
main :: IO () main :: IO ()
main = do main = do
programsList <- fmap (map parseLine . lines) $ readFile "7.txt" programsList <- fmap (map parseLine . lines) $ readFile "07.txt"
let programsMap = fromList programsList let programsMap = fromList programsList
bottomName = getBottom programsMap programsList bottomName = getBottom programsMap programsList
balanced = findBalanced . cumulate $ mapToTree programsMap bottomName balanced = findBalanced . cumulate $ mapToTree programsMap bottomName

2
08.hs
View File

@ -38,7 +38,7 @@ executeInstruction m (I r v s f) =
main :: IO () main :: IO ()
main = do main = do
input <- readFile "8.txt" input <- readFile "08.txt"
let maxima = map (maximum . elems) . tail . scanl executeInstruction empty . map parseLine . lines $ input let maxima = map (maximum . elems) . tail . scanl executeInstruction empty . map parseLine . lines $ input
print $ last maxima print $ last maxima
print $ maximum maxima print $ maximum maxima

2
09.hs
View File

@ -12,4 +12,4 @@ scoreAndCount str =
main :: IO () main :: IO ()
main = do main = do
readFile "9.txt" >>= print . scoreAndCount readFile "09.txt" >>= print . scoreAndCount