반응형
문제설명
https://programmers.co.kr/learn/courses/30/lessons/12901
사고과정
- 이런 문제가 더 어려운 듯 하다... 우선 2016년 한정으로 문제가 주어지기 때문에 2016년의 월마다 일수를 리스트로 정의했다. 그리고 2016년 1월 1일이 금요일이기 때문에 금요일부터 시작해서 목요일까지 순서로 리스트를 정의했다.
- 그리고 만약 문제에서 1월달 날짜로 주어진다면 그냥 바로 일수(b)에서 7로 나눈 나머지에서 1을 뺀 인덱스로 하는 요일을 반환해주면 된다. 1월달 날짜가 넘어가서 주어지면 주어진 월(a)보다 1작은 달까지 1월달 사이의 총 일수를 계산하고 b 일수를 모두 더해준다 그리고 이를 7로 나눈 나머지에서 1을 뺀 값을 인덱스로 하는 요일을 반환해주면 된다
풀이
def solution(a, b):
weekday = ['FRI','SAT','SUN','MON','TUE','WED','THU']
days = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if a == 1:
return weekday[b % 7 - 1]
else:
res = sum(days[:a]) + b
return weekday[res % 7 - 1]
반응형
'알고리즘 삽질장' 카테고리의 다른 글
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2021.12.08 |
---|---|
[프로그래머스] 최소 직사각형 (0) | 2021.12.08 |
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2021.12.08 |
[프로그래머스] 예산 (0) | 2021.12.08 |
[프로그래머스] 3진법 뒤집기 (0) | 2021.12.08 |