세상을 바꾸는 데이터

[백준 1476번] 날짜 계산 - 파이썬 본문

PS Study/BOJ(백준)

[백준 1476번] 날짜 계산 - 파이썬

Industriousness 2022. 2. 5. 13:22

 

문제 링크:

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

 

1476번: 날짜 계산

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

www.acmicpc.net


 

풀이 과정:

이 문제는 준규가 사는 나라에서 E S M이 우리가 알고 있는 연도로 몇 년인지 구하는 프로그램을 작성하는 문제이다.

여기서 주의해야 할 점지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 세 수는 서로 다른 범위를 가진다는 점이다.. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19)

 

연도에서 주어진 E, S, M을 뺏을 때의 나머지가 모두 0이라면 해당 연도가 바로 준규가 사는 나라의 E S M이 될 것이다.

코드는 매우 간단하나 알고리즘을 짜는데 생각이 조금 필요한 문제이다. 

이 문제는 연도를 1부터 +1씩 더하여 세 수의 나머지가 모두 0이 되어야 한다는 점브루트포스 문제(완전 탐색) 임을 말한다.

  • 브루트포스 문제정답으로 나올 수 있는 경우의 수를 모두 조사한 다음, 조건에 해당하는 값이 나오면 정답을 얻게 되는 문제이다.

 

풀이 코드:

# 1476번 날짜 계산

# 입력값 받기
e, s, m = map(int, input().split())

# 연도
year = 1

# 세 수의 나머지가 모두 0이 되는 연도 찾기
while True:
  if (year-e) % 15 == 0 and (year-s) % 28 ==0 and (year-m) % 19 == 0:
    break
  year += 1

# 연도 출력
print(year)

 

백준 1476번 날짜 계산

 

728x90
반응형
Comments