본문 바로가기

알고리즘 삽질장

[BOJ] 1476번 - 날짜 계산

반응형


문제설명

https://www.acmicpc.net/problem/1476

 

1476번: 날짜 계산

준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타

www.acmicpc.net

사고과정

  • 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