[프로그래머스] Level 1 - 2016년
in Algorithm on Programmers, Problems
문제
문제 설명 및 풀이
윤년임을 먼저 알려주었기 때문에 2월은 29일까지 있다. 그냥 리스트에 다 담아주어서 인덱스로 접근해서 답을 구했다.
이를 조금 더 다듬는 다면 아래와 같이 리스트 안에서 인덱싱과 sum을 통해 구해 줄 수 있다.
C++스러운 나의 코드
def solution(a, b):
answer = ''
d = [31,29,31,30,31,30,31,31,30,31,30,31]
day = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
n = 0
for i in range(1, a):
n += d[i-1]
n += b
n = n%7
answer = day[n-1]
return answer
깔끔한 풀이
def solution(a,b):
months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
days = ['FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED', 'THU']
return days[(sum(months[:a-1])+b-1)%7]