diff --git a/day3/main.hs b/day3/main.hs index 29c35da..e4a4e73 100755 --- a/day3/main.hs +++ b/day3/main.hs @@ -77,7 +77,8 @@ solveDay3Part1 :: Grid -> (Int,Int) -> Int solveDay3Part1 grid@(Grid lx) (x',y')= length $ filter (== SquareSortTree) $ map (getSquareSortAtPosition grid) px where - px = take n $ line x' y' + px = take n' $ line x' y' + n' = if y' > 1 then n + 1 else n n = (length lx) `div` y' -- Determine the number of trees you would encounter if, for each of the @@ -107,14 +108,14 @@ main = do putStrLn "Day 3 - Part 1" inputData <- readFile "day3/input" print $ take 5 $ line 3 1 - print $ take 5 $ line 7 1 + print $ take 6 $ line 1 2 let (Just parsedTestData) = parseInput testData print parsedTestData - print $ getSquareSortAtPosition parsedTestData (Position 10 10) + print $ getSquareSortAtPosition parsedTestData (Position 5 10) let (Just parsedInputData) = parseInput (lines inputData) putStrLn "Part 1:" print $ solveDay3Part1 parsedTestData (3,1) print $ solveDay3Part1 parsedInputData (3,1) putStrLn "Part 2:" - print $ solveDay3Part2 parsedTestData -- This gives the right answer, but - print $ solveDay3Part2 parsedInputData -- This gives the wrong answer :s + print $ solveDay3Part2 parsedTestData + print $ solveDay3Part2 parsedInputData