황소개발자

백준 1476 파이썬 python : 날짜 계산 @@황소처럼 우직하게@@ 어렵게 생각하지 마세요 본문

백준 문제 풀이

백준 1476 파이썬 python : 날짜 계산 @@황소처럼 우직하게@@ 어렵게 생각하지 마세요

hjp845 2020. 2. 27. 17:17
반응형

난 이 문제 심각하게 고민했다

주어진

e, s, m 을보고 지금 년도를 추측하라니..

주어진 esm에서 먼저 e만큼 각 자리에 대해 빼주고, 그 다음은 s만큼, 그 다음은 m만큼..

뺄 때 세개다 0이되면 종료

아니라면 다시 15로 넘어가거나 28로 넘어가거나..

나머지 연산에 대해 심오한 생각을 가지고있었다.

근데

가만히 보니 시간이 2초다

2억번의 계산을 할 수 있는 시간이다

매우 충분한 시간이지

마지막 예제를 보니 7580년인거 보니

최대 년도가  저거인거 같다.

저기서 1을 더하면 다시 1 1 1이 되니까 ㅋ

하튼

2초안에 다룰 수 있다는 걸 판단한 이후에는

브루트포스 답게 매우 간단하게 풀었다.

답은 아래 코드와 같다.

import sys
input = sys.stdin.readline

E, S, M = map(int, input().split())

year = 0
e, s, m = 0, 0, 0
while True:
    year += 1
    e = (e + 1) % 16 if (e + 1) % 16 !=0 else 1
    s = (s + 1) % 29 if (s + 1) % 29 !=0 else 1
    m = (m + 1) % 20 if (m + 1) % 20 !=0 else 1
    if e == E and s == S and m == M:
        print(year)
        break

 

반응형
Comments