변수 E, S, M의 범위가 각각 다르기 때문에 각 변수의 사이클이 다르다는 것에 집중해서 규칙을 찾아보려고 했다.
몇 가지 예시를 봐 보자!
(E, S, M)
= (15, 2, 11) -> 30 = (E)15+15 = (S)28+2 = (M)19+11
= (12, 1, 19) -> 57 = (E)15+15+15+12 = (S)28+28+1 = (M)19+19+19
굵은 글씨에 집중해서 보면 규칙을 찾을 수 있을 것이다.
굳이 식으로 표현하자면 아래처럼 표현할 수 있을 것 같다.
# e, s, m은 정수 (15*e)+E = (28*s)+S = (19*m)+M
E, S, M = map(int, input().split())
year = 1
while True:
if ((year-E) % 15 == 0) and ((year-S) % 28 == 0) and ((year-M) % 19 == 0):
break
year += 1
print(year)
# E: 1-15 / S: 1-28 / M: 1-19
# 입력받기
E, S, M = map(int, input().split())
year = 1
while True:
if ((year-E) % 15 == 0) and ((year-S) % 28 == 0) and ((year-M) % 19 == 0):
break
# if 문에 해당하지 않을 때는 year에 1을 더해준다
year += 1
# 결과값 출력
print(year)
규칙은 찾았는데 그걸 코드로 만드는 과정에서 막혔다. 생각보다 훨씬 간단하게 코드를 짤 수 있다는 것을 알고서 신기했다..ㅎ