aboutsummaryrefslogtreecommitdiff
path: root/challenge-019
diff options
context:
space:
mode:
authorchirvasitua <stuart-little@users.noreply.github.com>2021-01-17 20:35:42 -0500
committerchirvasitua <stuart-little@users.noreply.github.com>2021-01-17 20:35:42 -0500
commit01cbd13f9bc5b4793d9a7fedacb4398d28c793fa (patch)
treef81fca9b1ecc71f9b93a805044780003ed98dc9d /challenge-019
parent691c5654b5683189945436fc51d8ffdd2c87b151 (diff)
downloadperlweeklychallenge-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-xchallenge-019/stuart-little/haskell/ch-1.hs5
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