2016년
문제 링크
나의 풀이
def solution(a, b):
answer = ''
date = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
day = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
answer = (sum(date[0:a]) + (b-1))%7
return day[answer]
- 문제 풀이 원리는 2016년 1월부터 input된 날짜까지의 지나온 총 일수를 7일로 나눈 나머지를 이용하여 구하는 것이다.
1월1일이 금요일이므로 "FRI" 부터 시작되는 day 리스트를 만들었고, 월별 일수를 포함한 date 리스트를 선언하였다. sum함수와 슬라이싱을 통해 답을 구하였다.
다른 사람의 풀이
def getDayName(a,b):
day_name = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED']
month_dict = {
"1":31,
"2":29,
"3":31,
"4":30,
"5":31,
"6":30,
"7":31,
"8":31,
"9":30,
"10":31,
"11":30,
"12":31
}
days = 0
for i in range(1, a):
days += month_dict[str(i)]
days += b
index = days % 7
return day_name[index]
print(getDayName(5,24))
- 풀이 원리는 동일하나 딕셔너리 value 값을 활용한 코드이다.