[백준 1476] 날짜 계산

Slowly But Surely·2023년 1월 27일

처음에는

while True:
  if ans % 15 == e and year % 28 == s and year % 19 == m:
    print(ans)
    break
  ans += 1

이렇게 했는데, 문제는

e == 15, s == 28, m == 19

인 경우에 답을 구할 수 없다. 어떤 수를 n으로 나눈 나머지는 0~ n-1 사이이기 때문이다.

따라서 e, s, m에서 각각 1을 빼e-1, s-1, m-1로 만들고 mod 계산은 똑같이 한다.

while True:
  if ans % 15 == e-1 and year % 28 == s-1 and year % 19 == m-1:
    print(ans+1)
    break
  ans += 1

1을 각각 빼줬기 때문에 답에는 1을 더해야 한다.

profile
안녕하세요

0개의 댓글