첫 번째 답안

: 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