17 lines
562 B
Haskell
17 lines
562 B
Haskell
module Part1 where
|
|
|
|
import Commons
|
|
import Data.Char (isDigit)
|
|
|
|
|
|
getCalibrationValuePart :: CalibrationLine -> Char
|
|
getCalibrationValuePart (h: _) | isDigit h = h
|
|
getCalibrationValuePart (_: t) = getCalibrationValuePart t
|
|
|
|
getCalibrationValue :: CalibrationLine -> Integer
|
|
getCalibrationValue line = read [getCalibrationValuePart line, getCalibrationValuePart . reverse $ line]
|
|
|
|
getCalibrationValues :: CalibrationDocument -> [Integer]
|
|
getCalibrationValues [h] = [getCalibrationValue h]
|
|
getCalibrationValues (h: t) = getCalibrationValue h: getCalibrationValues t
|