This commit is contained in:
2023-12-05 10:48:55 +01:00
parent 53cad097f8
commit 0ead7dd768
5 changed files with 126 additions and 0 deletions

18
day05/Part1.hs Normal file
View File

@@ -0,0 +1,18 @@
module Part1 where
import Commons
applyConversionMap :: ConversionMap -> Int -> Int
applyConversionMap [] v = v
applyConversionMap (e: t) v | v >= sourceStart e && v <= sourceStart e + size e = destinationStart e - sourceStart e + v
| otherwise = applyConversionMap t v
applyConversionMapToList :: ConversionMap -> [Int] -> [Int]
applyConversionMapToList cm = map $ applyConversionMap cm
getLocations :: Almanac -> [Int]
getLocations a = applyConversionMapToList (toLocation a) . applyConversionMapToList (toHumidity a)
. applyConversionMapToList (toTemperature a) . applyConversionMapToList (toLight a)
. applyConversionMapToList (toWater a) . applyConversionMapToList (toFertilizer a)
. applyConversionMapToList (toSoil a) $ seeds a