Day 5
This commit is contained in:
18
day05/Part1.hs
Normal file
18
day05/Part1.hs
Normal 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
|
||||
Reference in New Issue
Block a user