diff options
Diffstat (limited to '2023/haskell/day01/part1.hs')
-rw-r--r-- | 2023/haskell/day01/part1.hs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/2023/haskell/day01/part1.hs b/2023/haskell/day01/part1.hs new file mode 100644 index 0000000..65ea098 --- /dev/null +++ b/2023/haskell/day01/part1.hs @@ -0,0 +1,17 @@ +import Data.Char +import System.Environment +import System.IO + +main :: IO () +main = do + args <- getArgs + case args of + [filename] -> do + fh <- openFile filename ReadMode + lines <- lines <$> readFile filename + let digits = map (\line -> [c | c <- line, isDigit c ]) lines + let numbers = map (\line -> head line : [last line]) digits + let ints = map (\num -> read num :: Int ) numbers + let part1 = sum ints + print part1 + _ -> putStrLn "Missing input filename." |