2016년문제

Seogyu Gim·2020년 12월 6일
0

코딩테스트

목록 보기
16/47

처음 풀 때

def solution(a, b):
    DAYS = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
    if a == 1 or a == 2:
        day = DAYS[((a-1)*31 + b) % 7 - 1]
    elif a % 2 == 0:
        day = DAYS[(int((a-1)/2 * 61) + b) % 7 - 1] # 91일 더해줘야 하는데 7의 배수라서 더할필요없음
    elif a <= 7:
        day = DAYS[(60 + int((a-3)/2 * 61) + b) % 7 - 1]
    else:
        day = DAYS[(60 + int((a-3)/2 * 61) + b) % 7] # 7월 8월 연속 1일이라서 -1 해줄필요없음
    return day

보다가 바꾼 코드

def solution(a, b):
    days = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
    months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    return days[(sum(months[:a-1]) + b-1) % 7]
profile
의미 있는 일을 하고싶은 개발자

0개의 댓글