From 1552251e0ecf7915f682464eb3e71974ec41633d Mon Sep 17 00:00:00 2001 From: tzlil Date: Sat, 2 Dec 2023 13:57:02 +0200 Subject: solved day2 --- 1/1.hs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 1/1.hs (limited to '1/1.hs') diff --git a/1/1.hs b/1/1.hs new file mode 100644 index 0000000..b98791e --- /dev/null +++ b/1/1.hs @@ -0,0 +1,15 @@ +module Main where + +import Prelude +import Text.Read +import Data.Maybe +import Data.List +import Debug.Trace +import Data.Monoid + +f [] = (First Nothing, Last Nothing) +f (x:xs) = ((,) . First <*> Last $ readMaybe [x]) <> f xs + +g (First x, Last y) = (+) . (*10) <$> x <*> y +--f = sum . take 1 . (zipWith ((+).(*10)) <*> reverse) . catMaybes . map (readMaybe.pure) +main = readFile "input.txt" >>= print . sum . catMaybes . map (g . f) <$> lines -- cgit 1.4.1