From 9251a1facfebbedc34c20f4bd0bce73354987119 Mon Sep 17 00:00:00 2001 From: Amneesh Singh Date: Mon, 2 Dec 2024 19:33:23 +0530 Subject: [PATCH] day 1: rewrite parse Signed-off-by: Amneesh Singh --- src/P1.hs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/P1.hs b/src/P1.hs index 942a4fa..0ead37a 100644 --- a/src/P1.hs +++ b/src/P1.hs @@ -1,21 +1,23 @@ module Main where import qualified AoC as A (count, extract) +import Control.Monad (void) import Data.List (sort) -import Text.Parsec (digit, many1, newline, parse, space, try) +import Text.Parsec (digit, eof, many1, newline, parse, sepEndBy1, space, try, (<|>)) import Text.Parsec.String (Parser) parseLists :: Parser ([Int], [Int]) parseLists = unzip -- multiple lines - <$> many1 + <$> sepEndBy1 ( (,) -- first number <$> (read <$> many1 digit) -- second number - <*> (many1 space *> (read <$> many1 digit) <* try newline) + <*> (many1 space *> (read <$> many1 digit)) ) + newline part1 :: [Int] -> [Int] -> Int part1 xs ys = sum $ zipWith ((abs .) . (-)) xs ys