[백준/Python] 1924번 : 2007년
문제
https://www.acmicpc.net/problem/1924
- 구현 문제
풀이
input으로 들어오는 월, 일 값을 바탕으로 1월 1일부터 총 몇일이 지났는지를 월, 일로 나눠서 확인하고, 결과값을 7로 나눈 나머지를 인덱스로 활용하여 해당 날짜가 무슨 요일인지를 확인하는 식으로 풀이했다.
1월 1일을 기준으로 x월 y일까지 총 며칠이 지났는지를 체크하기위해
day_cnt
변수를 활용했다. 초기값은 1일을 기준으로 y일까지 며칠이 지났는지를 할당해주었다.mon
변수를 통해 1월부터 x월까지 며칠의 시간이 지났는지를 체크해준다. 이때 2월과 4,6,9,11월의 경우에는 31일이 아닌 알맞는 값을 cnt 변수에 더해주었다.
days = ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
# month , day
x, y = map(int, input().split())
zero = [4, 6, 9, 11]
mon = 1
# 1일부터 시작이니까 -1
# 5일이면, 4일 경과
day_cnt = y - 1
while mon < x:
if mon == 2:
day_cnt += 28
elif mon in zero:
day_cnt += 30
else:
day_cnt += 31
mon += 1
print(days[day_cnt % 7])
후기
계산 과정에서 실제 결과값이 하루씩 밀리는 문제가 발생했었다. 단순한 계산 실수였지만 이로 인해서 시간을 꽤 잡아먹었다.
변수를 선언하거나 값을 이용할 때는 반드시 꼼꼼하게 해당 값이 정확한지를 확인한 뒤 사용하자.