코딩테스트

백준 for문 문제 - 날짜 계산하기(파이썬)

수연 (Suyeon) 2023. 11. 25. 01:52
반응형

https://www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

 

1924번은 for문으로 날짜에 맞는 요일을 출력하는 문제입니다. 저는 날짜를 구하는 방법조차 찾지 못해서 다른 분들의 코드를 보고 완전히 이해하려고 노력했고, 성공적으로 코드를 구현할 수 있었습니다.

3월 15일날의 요일이 궁금하다면 1, 2월의 날짜 전체를 더한 후, 15를 더하고 7로 나눈 나머지가 요일이 됩니다.

7로 나눈 이유는 한 주가 7일이기 때문에 몫에는 나머지가 0으로 떨어지는 몇 주가 될 것이고, 나머지에는 해당 주에서 요일을 나타내는 날이 되게 됩니다.

monList = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
dayList = ['SUN', "MON", "TUE", "WED", "THU", "FRI", "SAT"]
date = 0

x, y = map(int, input().split())

for i in range(x-1):
  date += monList[i]
date = (date + y) % 7

print(dayList[date])
728x90