Small refactoring

This commit is contained in:
Daniele Fucini
2024-12-21 20:03:24 +01:00
parent a42f7bbbe1
commit 0e0442b9d9
9 changed files with 92 additions and 67 deletions

View File

@@ -17,18 +17,22 @@ similarityScore xs ys =
let elemsY = [(fst . fromJust $ uncons y, length y) | y <- (group . sort) ys]
in sum [x * snd y | x <- xs, y <- elemsY, x == fst y]
day01_1 :: IO ()
day01_1 = do
parseInput :: IO [[Int]]
parseInput = do
contents <- lines <$> readFile "input/day1.txt"
let [x, y] = transpose $ map read . words <$> contents
return [x, y]
day01_1 :: IO ()
day01_1 = do
[x, y] <- parseInput
putStrLn $
"Day 1, Puzzle 1 solution: "
++ show (listDistance x y)
day01_2 :: IO ()
day01_2 = do
contents <- lines <$> readFile "input/day1.txt"
let [x, y] = transpose $ map read . words <$> contents
[x, y] <- parseInput
putStrLn $
"Day 1, Puzzle 2 solution: "
++ show (similarityScore x y)