✔️ code
def solution(a, b):
answer = ''
#2016-01-01: 'FRI'
day=['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED']
date=[31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
answer=day[(sum(date[:a-1])+b)%7]
return answer
# solve
먼저 2016-01-01이 언제인지 알아야 한다.
만약 01-24 가 a, b로 주어졌다고 해 보면, day[24%7] 즉 'SUN' 이 바로 출력되도록 해야 하는데,
이렇게 하기 위해선 1 번째 index 가 1일에 해당하는 날짜여야 한다.
따라서 'FRI' 를 1 번째 index에 놓고 다른 요일을 작성한다.
b에 해당하는 월까지 오기 위해선 (b-1) 월까지의 일수를 더해주어야 한다.
따라서 date 리스트에 1~12월까지 (2016년은 윤년이므로 2월이 29일이다.) 일수를 나열해놓고
sum(date[:a-1])+b 까지 수행한다. 1주일은 7일이므로 %7 까지 연산하게 되면 결과값이 주어진 날짜 요일 index로 나오게 된다.
'알고리즘' 카테고리의 다른 글
[스택] 후위표기식 (0) | 2022.04.02 |
---|---|
[스택] 쇠막대기 (0) | 2022.03.23 |
[스택] 가장 큰 수 (0) | 2022.03.15 |
[그리디] 역수열 (0) | 2022.03.09 |
[알고리즘] 프로그래머스 실패율 (0) | 2022.03.08 |