day1
This commit is contained in:
14
day1/app/Main.hs
Normal file
14
day1/app/Main.hs
Normal file
@@ -0,0 +1,14 @@
|
||||
module Main (main) where
|
||||
|
||||
import Data.List (sort, transpose)
|
||||
import Text.Printf (printf)
|
||||
|
||||
-- readFile "./inputs/day1" >>= \inputs -> let columns = map sort $ map (map (read :: String -> Int)) $ transpose $ map words $ lines inputs in printf "total distance: %d\n" (sum $ map abs $ zipWith (-) (columns !! 0) (columns !! 1)) >> printf "similarity score: %d\n" (sum $ map (\x -> x * (length $ filter (\y -> x == y) (columns !! 1))) (columns !! 0))
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
inputs <- readFile "./inputs/day1"
|
||||
let columns = map sort $ map (map (read :: String -> Int)) $ transpose $ map words $ lines inputs
|
||||
|
||||
printf "total distance: %d\n" (sum $ map abs $ zipWith (-) (columns !! 0) (columns !! 1))
|
||||
printf "similarity score: %d\n" (sum $ map (\x -> x * (length $ filter (\y -> x == y) (columns !! 1))) (columns !! 0))
|
||||
Reference in New Issue
Block a user