diff options
| -rwxr-xr-x | challenge-019/stuart-little/haskell/ch-1.hs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/challenge-019/stuart-little/haskell/ch-1.hs b/challenge-019/stuart-little/haskell/ch-1.hs index 9cc320f7e0..fe12e87591 100755 --- a/challenge-019/stuart-little/haskell/ch-1.hs +++ b/challenge-019/stuart-little/haskell/ch-1.hs @@ -4,11 +4,12 @@ import Data.List (intersect,) import Data.List.Utils (countElem,) -import Data.Time.Calendar (DayOfWeek( Friday,Saturday,Sunday ),dayOfWeek,fromGregorian,toGregorian,) +import Data.Maybe (isJust,fromJust,) +import Data.Time.Calendar (DayOfWeek( Friday,Saturday,Sunday ),dayOfWeek,fromGregorianValid,toGregorian,) import Data.Time.Clock (getCurrentTime,utctDay,) nrWeekends :: Integer -> Int -> Int -nrWeekends y m = minimum $ (\l -> map (\x -> countElem x l) [Friday,Saturday,Sunday]) $ map (dayOfWeek.(fromGregorian y m)) [1..31] +nrWeekends y m = minimum $ (\l -> map (\x -> countElem x l) [Friday,Saturday,Sunday]) $ map (dayOfWeek.fromJust) $ filter isJust $ map (fromGregorianValid y m) [1..31] main = do curY <- getCurrentTime >>= return.(\(y,_,_)->y).toGregorian.utctDay |
