diff options
| author | chirvasitua <stuart-little@users.noreply.github.com> | 2021-01-17 20:35:42 -0500 |
|---|---|---|
| committer | chirvasitua <stuart-little@users.noreply.github.com> | 2021-01-17 20:35:42 -0500 |
| commit | 01cbd13f9bc5b4793d9a7fedacb4398d28c793fa (patch) | |
| tree | f81fca9b1ecc71f9b93a805044780003ed98dc9d /challenge-019 | |
| parent | 691c5654b5683189945436fc51d8ffdd2c87b151 (diff) | |
| download | perlweeklychallenge-club-01cbd13f9bc5b4793d9a7fedacb4398d28c793fa.tar.gz perlweeklychallenge-club-01cbd13f9bc5b4793d9a7fedacb4398d28c793fa.tar.bz2 perlweeklychallenge-club-01cbd13f9bc5b4793d9a7fedacb4398d28c793fa.zip | |
account for invalid dates in 019 ch-1
Diffstat (limited to 'challenge-019')
| -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 |
