세상을 더 좋게

[백준] 1476 '날짜 계산' 파이썬(python) 본문

Algorithm/브루트 포스

[백준] 1476 '날짜 계산' 파이썬(python)

나는SOU 2022. 1. 14. 00:00

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

 

1476번: 날짜 계산

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

www.acmicpc.net

e, s, m = map(int, input().split())
cnt = 1
i, j, k = 1, 1, 1

while True:
    if i == e and j == s and k == m:
        break
    
    i+=1 ; j+=1 ; k+=1 ; cnt+=1 ;
    if i == 16:
        i = 1
    if j == 29:
        j = 1
    if k == 20:
        k = 1

print(cnt)

Point

  • 일단 범위가 15, 28, 19였기 때문에 15 x 28 x 19 = 7980가지가 해당 문제에서 나올수 있는 답의 최대치입니다. 이정도는 충분히 막 돌리는 방법으로도 충분하기에 브루트 포스로 진행했습니다.
  • 주어진 e, s, m 의 숫자들을 가지고 while문을 통해 임의의 i, j, k와 비교해서 같은 시점에 break을 한 뒤 카운트 값을 출력합니다.
  • 각자의 범위가 있기에 그 해당 범위를 넘는 순간 숫자 1로 만들어버리고 계속 진행하는 식으로 진행합니다.
  • 처음에는 이게 무슨 문제인가 싶었지만, 제가 노트에 끄적이는 이 무식한 방법을 컴퓨터가 대신 하게 하면 되는 것이라고 생각하면 굉장히 간단한 방법이라 생각됩니다.