Algorithm/Programmers

[Python] 2016년

느낌표 공장장 2021. 4. 6. 17:12
def solution(a, b):
    days = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
    month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
    date = (sum(month[:a-1]) + (b-1)) % 7
    answer = days[date]
    return answer

풀이

1. 2016년 1월 1일 금요일 부터 시작이므로 요일 리스트에 금요일부터 넣어주었다.

2. 각 월의 일들을 리스트에 넣어주었다.

3. 입력받은 월(a)의 전 날들과 입력받은 일(b)을 더해준다. (sum(month[:a-1]) + (b-1) )

    ( b-1을 해주는 이유는 리스트 인덱스가 0부터 시작하기 때문이다. 예) 1월 1일이 금요일인것을 고려하면 이해가 쉽다)

4. 더한 값들에서 7로 나머지 연산을 해준다.

5. 나머지 값을 통해 days의 인덱스에 넣어주어 해당 요일을 반환받는다.

'Algorithm > Programmers' 카테고리의 다른 글

[Python] K번째수  (0) 2021.04.07
[Python] 같은 숫자는 싫어  (0) 2021.04.06
[Python] 가운데 글자 가져오기  (0) 2021.04.06
[Python] 모의고사  (0) 2021.04.06
[Python] 신규 아이디 추천  (0) 2021.04.05