Baekjoon 문제 풀기 (1924번 : 2007년) Python

1924번 : 2007년

1. 문제읽기


나머지 연산과 문자열 사용

그동안 풀었던 문제를 바탕으로 이런 문제는 문자열을 나열하는 것이 빠르게 풀린다는 것을 체득했다.
따라서 날짜와 요일을 문자열로 만들어놓고, 생각을 하니 빠르게 풀렸다.

2. 제출 코드


반복문 없이 풀려고 했는데, 그 달의 날짜를 모두 더하려면 반복문이 필요하다는 것을 깨달았다.
계산하기 편하게 0 인덱스는 비워두고, 인덱스를 달로 쉽게 계산해서 달-1 값까지 반복문을 돌려 날짜를 모두 더해주고, d 일을 더해주면 총 날짜가 나온다.
기본적으로 7로 나눈 나머지에 따라 요일이 정해진다는 것을 알고 있어서 쉽게 풀 수 있었다.

m, d = map(int, input().split())

month = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
day = ["SUN","MON","TUE","WED","THU","FRI","SAT"]
total_day = 0

for i in range(m):
    total_day += month[i]
total_day += d
find_day = total_day%7

print(day[find_day])

3. 공부할 것


그동안 풀었던 문제들을 응용해서 푼 것 같아 기분이 좋다.

댓글남기기