반응형
문제설명
https://www.acmicpc.net/problem/1476
사고과정
- E, S, M 을 while 무한 루프에서 하나씩 증가시키면서 주어진 E, S, M 과 같아질 때 break하면 된다.
- 단, 무한 루프 안에서 E, S, M 모두 1일 때 break하는 조건을 먼저 넣어준다.
- 그리고 s, e, m 과 연도를 1씩 증가시킨 후, s, e, m의 주어진 범위에 넘어가면 1로 바꾸어 준 후, e == E, s == S, m == M인지 조건을 확인한 후 break 한다.(이 조건 순서를 바꾸게 되면 무한 루프에서 안빠져나오게 됨!)
풀이
E, S, M = map(int, input().split())
e, s, m = 1, 1, 1
year = 1
# 16, 16, 16
while True:
if E == 1 and S == 1 and M == 1:
break
e += 1; s += 1; m += 1
year += 1
if e == 16:
e = 1
if s == 29:
s = 1
if m == 20:
m = 1
if e == E and s == S and m == M:
break
print(year)
반응형
'알고리즘 삽질장' 카테고리의 다른 글
[BOJ] 14500번 - 테트로미노 (0) | 2021.11.05 |
---|---|
[BOJ] 1107번 - 리모컨 (0) | 2021.11.04 |
[BOJ] 3085번 - 사탕 게임 (0) | 2021.11.03 |
[BOJ] 2309번 - 일곱 난쟁이 (0) | 2021.11.03 |
[BOJ] 17404번 - RGB거리 2 (0) | 2021.11.03 |