Algorithm/백준

[백준 알고리즘] 1924번: 2007년 (Python)

에릭 Kim 2023. 4. 28. 14:42
반응형

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

문제

오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.

 

입력

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

 

출력

첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.

 

 

소스코드

 

풀이

★ 문제 제목이 재밌어서 한번 풀어봤습니다 ! 문제에서 각 월별로 31일까지, 30일까지, 28일까지 있는 월들을 구분하여 제시하기 때문에 따로 구할 필요가 없는 게 편했습니다 !

 

★ 저는 입력받는 월을 1월부터 입력받은 월전까지 돌면서 각 월이 해당 리스트 안에 있으면 ans에 그 날만큼 더해줬습니다. 입력받은 월은 일수를 다 더하는 것이 아닌, 입력받는 일수만 더해줘야 하기 때문에 반복문을 1부터 a까지만 돌아줬습니다.

 

★ 그 후에 ans = ans+b을 통해 입력받는 일(b)를 더해주고, 일주일은 7일로 되어 있기 때문에 해당 값을 7로 나눴을 때의 나머지를 ans에 구해줍니다. 

 

★ 그 후 요일로 만들어 두었던 인덱스 번호에 ans를 대입하여 답을 구해줄 수 있습니다. 

반응형