본문 바로가기

Algorithm

2016년 / 프로그래머스

 

정답

  • 시작하는 날을 기준으로 요일 배열을 나열
  • 경과일을 기준으로 요일을 적용해야 하므로 (배열은 0부터 시작하니까) 경과일에 -1을 빼줘야 함
def solution(a, b):
    # 2016년 각 월의 일 수
    month = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]  

    # 2016년 1월 1일은 금요일 (FRI)
    week = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
    
    # 1월 1일은 금요일, 1월 1일을 입력했다면 1월 1일로부터 경과일은 0일임
    elapsed_date = sum(month[:a]) + b - 1
    
    return week[elapsed_date % 7]