첫 번째 답안
: datetime 모듈을 불러오고 요일의 줄임말로 바꾼 뒤 upper로 대문자 처리
import datetime
def solution(a, b):
year = 2016
date = datetime.date(2016, a, b)
day = date.strftime('%a')
answer = day.upper()
return answer
두 번째 답안
: 축약해서 제출함
import datetime
def solution(a, b):
date = datetime.date(2016, a, b)
answer = date.strftime('%a').upper()
return answer
세 번째 답안
: 그런데 다른 사람의 답안을 보니 모듈을 쓰지 않고 계산하는 방법이 있었다. 2016년 1월 1일이 금요일이므로 5를 더해서 계산하고, 하루를 뺀 뒤에 7로 나눈다.
def solution(a, b):
days = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
dayLen = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
firstday = 5
return days[(sum(dayLen[:a-1]) + b + firstday - 1) % 7]
배울 점
: 모듈을 쓰지 않고 간단하게 계산할 수 있는 방법도 찾자.
'코딩 기록장' 카테고리의 다른 글
python 3 : 프로그래머스 Level. 1 가운데 글자 가져오기 (0) | 2020.11.06 |
---|---|
python 3 : 프로그래머스 Level. 1 3진법 뒤집기 (0) | 2020.11.06 |
python 3 : 프로그래머스 Level. 1 K번째 수 (0) | 2020.11.06 |
python 3 : 프로그래머스 Level. 1 체육복 (0) | 2020.11.06 |
python 3 : 프로그래머스 Level. 1 모의고사 (0) | 2020.11.05 |