X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=advent03%2FMain.hs;h=fa01d402ccce5337f514a1e5740394afb2488628;hb=8a93d571e888a50a47b8fb92b97f13152f79895f;hp=409ca338c6cc396c83e41b9ab1be4b055582cf50;hpb=4df30f4f37244271ea01f3e64c1fba6c36c20e94;p=advent-of-code-22.git diff --git a/advent03/Main.hs b/advent03/Main.hs index 409ca33..fa01d40 100644 --- a/advent03/Main.hs +++ b/advent03/Main.hs @@ -1,6 +1,6 @@ -- Writeup at https://work.njae.me.uk/2022/12/03/advent-of-code-2022-day-3/ -import System.Environment +import AoC import Data.Char import qualified Data.Set as S import Data.List @@ -17,16 +17,6 @@ main = print $ part1 rucksacks print $ part2 rucksacks -getDataFileName :: IO String -getDataFileName = - do args <- getArgs - progName <- getProgName - let baseDataName = if null args - then progName - else head args - let dataFileName = "data/" ++ baseDataName ++ ".txt" - return dataFileName - part1 :: [Rucksack] -> Int part1 = sum . fmap (priority . commonItem) @@ -57,5 +47,5 @@ commonItem (Rucksack contents1 contents2) = S.findMin (c1 `S.intersection` c2) priority :: Char -> Int priority item - | item >= 'a' = ord item - ord 'a' + 1 + | isLower item = ord item - ord 'a' + 1 | otherwise = ord item - ord 'A' + 27