728x90
<문제 설명>
https://programmers.co.kr/learn/courses/30/lessons/12901
2016년 1월 1일은 금요일이라는 정보를 바탕으로 2016년의 특정 날짜의 요일을 알아내면 되는 문제이다.
(참고. 2016년은 윤년이다)
입출력의 예는 다음과 같다.
a | b | result |
5 | 24 | "TUE" |
<문제 해결 아이디어>
처음에는 달별로 일수를 나누어 저장하고 이를 요일로 잘라야 하나 고민했는데, 혹시나 하는 마음에 날짜 관련 라이브러리가 있는지 찾아본 결과 관련 라이브러리가 있었다!
https://docs.python.org/ko/3/library/datetime.html?highlight=datetime#datetime-objects
파이썬 내장 라이브러리중 datetime에 weekday()라는 함수가 정수로 요일을 반환함(월요일이 0)을 알게 되었고
이 정수 결과 값을 ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"] 배열에 맵핑하여 최종 답의 값을 반환하게 코드를 구성하였다.
<문제 풀이 코드>
from datetime import datetime
def solution(a, b):
day = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
answer = day[datetime(2016,a,b).weekday()]
return answer
728x90
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스 lv 1] 모의고사.py (0) | 2022.02.08 |
---|---|
[프로그래머스 lv 1] 자연수 뒤집어 배열로 만들기.py (0) | 2022.02.03 |
[프로그래머스 lv 1] 시저암호.py (0) | 2022.01.31 |
[프로그래머스 lv 1] 예산.py (0) | 2022.01.27 |
[프로그래머스 lv 1] 정수 내림차순으로 배치하기.py (0) | 2022.01.26 |