Day of the Week in Python
Given a date, return the corresponding day of the week for that date.
The input is given as three integers representing the day
, month
and year
respectively.
Return the answer as one of the following values {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}
.
Example 1:
Input: day = 31, month = 8, year = 2019
Output: "Saturday"
Example 2:
Input: day = 18, month = 7, year = 1999
Output: "Sunday"
Example 3:
Input: day = 15, month = 8, year = 1993
Output: "Sunday
Constraints:
The given dates are valid dates between the years 1971 and 2100.
Solution:
class Solution(object):
def dayOfTheWeek(day, month, year):
week = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
arr = [ 0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4 ]
year -= month < 3
return week[((year + int(year / 4) - int(year / 100) + int(year / 400) + arr[month - 1] + day) % 7)]
# answer 1
day = 31
month = 8
year = 2019
print(Solution.dayOfTheWeek(day, month, year))
# answer 2
day = 18
month = 7
year = 1999
print(Solution.dayOfTheWeek(day, month, year))
# answer 3
day = 15
month = 8
year = 1993
print(Solution.dayOfTheWeek(day, month, year))