반응형
https://www.acmicpc.net/problem/1476
e, s, m = map(int, input().split())
a, b, c = 1, 1, 1
ans = 1
while 1:
if a == e and b == s and c == m:
print(ans)
break
else:
a += 1
b += 1
c += 1
ans += 1
if a == 16:
a = 1
if b == 29:
b = 1
if c == 20:
c = 1
예전에는 아마 연도를 주면 규칙에 맞게 연도 표기를 하는 문제를 풀었던 것 같은데 이번엔 그 반대네요. 이 풀이는 별로 좋은 풀이는 아니고 그냥 드는 생각을 그대로 옮기는 풀이입니다. 일반적인 십진법으로 표기하는 연도가 나올 때 까지 계속 더해가면서 조건문을 돌리는 방법이죠.
좀 더 좋은 풀이는 굳이 조건문이나 반복문을 사용하지 않고 규칙을 찾아내서 연산 한 번에 풀어내는 방법이겠죠. 뭔가 최소공배수와 연결시켜서 보면 조건이 딱 보일 거 같은데 당장은 잘 모르겠네요
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ][Python]14501 풀이 (0) | 2023.03.04 |
---|---|
[BOJ][Python]2193 풀이 (0) | 2023.03.03 |
[BOJ][Python]27294 풀이 (0) | 2023.03.01 |
[BOJ][Python]10815 풀이 (2) | 2023.02.27 |