https://school.programmers.co.kr/learn/courses/30/lessons/12901
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2016년이 윤년이란 정보에 주의해서 입력의 일수에 월 별 지난 일 수를 저장해 줍니다.
예를 들어, 1월은 6일은 지난 월이 없어 그대로 6일 이지만 2월 6일은 1월이 지났기 때문에 31을 더해 37일이 됩니다.
또, 문제의 정보에서 생각해 보면 1월 1일(=1일)이 금요일이란 정보를 얻을 수 있습니다. 일주일은 7 단위로 반복되기 때문에, Index 1이 금요일인 길이 7의 배열을 만들어줍니다.
이제 입력된 날짜를 일수로 변환하고 7로 나눈 나머지의 Index 속 값을 취하면 쉽게 요일을 구할 수 있습니다.
def solution(a, b):
month = [0,0,31,60,91,121,152,182,213,244,274,305,335]
day = ['THU','FRI','SAT','SUN','MON','TUE','WED']
daynum = month[a] + b
answer = day[daynum % 7]
return answer
solution(5,24)
728x90
'🔍 알고리즘 > 프로그래머스 Python' 카테고리의 다른 글
[Python] 프로그래머스 12906. 같은 숫자는 싫어 (Lv.1) (0) | 2022.08.17 |
---|---|
[Python] 프로그래머스 86491. 최소직사각형 (Lv.1) (0) | 2022.08.10 |
[Python] 프로그래머스 68644. 두개 뽑아서 더하기 (Lv.1) (0) | 2022.08.10 |
[Python] 프로그래머스 12982. 예산 (Lv.1) (0) | 2022.08.10 |
[Python] 프로그래머스 68935. 3진법 뒤집기 (Lv.1) (0) | 2022.08.10 |