코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일이다. 2016년 a월 b일은 무슨 요일일까? 예를 들어 5월 24일은 화요일이므로 문자열 "TUE"를 반환하라.
calendar.weekday 함수를 사용하면 요일이 숫자로 반환되므로 숫자와 요일을 dictionary로 매칭시킨 후 get 함수로 입력값에 따라 값이 반환되도록 하였다.
import calendar
def solution(a, b):
date_num = calendar.weekday(2016, a, b)
date = {0:"MON", 1:"TUE", 2:"WED", 3:"THU", 4:"FRI", 5:"SAT", 6:"SUN"}
.get(date_num, "NONE") # get함수의 첫번째 인자인 date_num에 따라 date값이 결정
return date
python에는 switch문이 없다.
case가 적은 경우 가장 간단한 방법이다.
if date_num == 0:
date = "MON"
elif date_num == 1:
date = "TUE"
elif date_num == 2:
date = "WED"
elif date_num == 3:
date = "THU"
elif date_num == 4:
date = "FRI"
elif date_num == 5:
date = "SAT"
elif date_num == 6:
date = "SUN"
else: date = "NONE"
case가 너무 많은 경우 if~else문을 나열하지말고 dictionary를 이용하라
import calendar
def solution(a, b):
date_num = calendar.weekday(2016, a, b)
date = {0:"MON", 1:"TUE", 2:"WED", 3:"THU", 4:"FRI", 5:"SAT", 6:"SUN"}
.get(date_num, "NONE") # get함수의 첫번째 인자인 date_num에 따라 date값이 결정
return date