첫 번째 답안

: datetime 모듈을 불러오고 요일의 줄임말로 바꾼 뒤 upper로 대문자 처리

import datetime
def solution(a, b):
year = 2016
date = datetime.date(2016, a, b)
day = date.strftime('%a')
answer = day.upper()
return answer

두 번째 답안

: 축약해서 제출함

import datetime
def solution(a, b):
date = datetime.date(2016, a, b)
answer = date.strftime('%a').upper()
return answer

세 번째 답안

: 그런데 다른 사람의 답안을 보니 모듈을 쓰지 않고 계산하는 방법이 있었다. 2016년 1월 1일이 금요일이므로 5를 더해서 계산하고, 하루를 뺀 뒤에 7로 나눈다.

def solution(a, b):
days = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
dayLen = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
firstday = 5
return days[(sum(dayLen[:a-1]) + b + firstday - 1) % 7]

배울 점

: 모듈을 쓰지 않고 간단하게 계산할 수 있는 방법도 찾자.

 

+ Recent posts