본문 바로가기

프로그래머스 알고리즘 문제/Level 1

프로그래머스 Level 1 - 2016년

내 정답:

 

def solution(a, b):
    days = [31,29,31,30,31,30,31,31,30,31,30,31]
    yoil = ['THU','FRI','SAT','SUN','MON','TUE','WED']
    numday = b
    for i in range(a-1):
        numday += days[i]
    return yoil[numday%7]

 

다른 사람들의 정답:

 

나와 비슷한 방식, 그러나 sum함수를 이용하여 좀 더 간결하게

def getDayName(a,b):
    months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    days = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
    return days[(sum(months[:a-1])+b-1)%7]

 

함수 활용

import datetime

def getDayName(a,b):
    t = 'MON TUE WED THU FRI SAT SUN'.split()
    return t[datetime.datetime(2016, a, b).weekday()]