프로그래머스 - 2016년

dobyming·2022년 12월 12일
0

문제 설명

2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT

입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.

제한 조건

  • 2016년은 윤년입니다.
  • 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)

입출력 예

abresult
524"TUE"

내 코드

from datetime import datetime, date
def solution(a, b):
    answer = ''
    days = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']
    day = date(2016,a,b).weekday()
    answer = days[day]
    return answer

Python의 모듈 중 dateweekday() 메소드를 활용했습니다.

weekday()의 리턴 값이 의미하는 요일은 다음과 같습니다.

월요일 : 0
화요일 : 1
수요일 : 2
목요일 : 3
금요일 : 4
토요일 : 5
일요일 : 6

따라서 문제에서는 Year는 2016년으로 고정되어 있으므로,
date(y,m,d)의 매개변수 할당 시 y=2016년으로 할당했습니다. 그리고 a,b는 각각 년/월로 들어가기 때문에 결론적으론 date(2016,a,b) 를 선언하여 구할 수 있습니다.

최종적으로 weekday의 return값은 곧 days 배열의 index값이기 때문에 요일을 구할 수 있습니다.

0개의 댓글