티스토리 뷰

반응형

 

 

 문제

 

www.acmicpc.net/problem/1476

 

1476번: 날짜 계산

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

www.acmicpc.net

 

 

 

 

 

 

 문제 상황

 

- 15, 28, 19를 기준으로 숫자가 순회할 때, 주어진 숫자는 몇번째인지 연산한다.

 

 

 

 

 

 

 해결 전략

 

- 숫자가 크지 않기 때문에 1부터 순회하며 15, 28, 19로 각각 나눈 나머지가 주어진 E, S, M과 같은지 비교하고, 같다면 출력한다.

 

 

 

 

 

 

 코드

 

1
2
3
4
5
6
7
8
9
10
from sys import stdin
input = stdin.readline
E, S, M = map(int, input().split()) # 15 28 19
if E == 15 : E = 0
if S == 28 : S = 0
if M == 19 : M = 0
year = 1
while year%15 != E or year%28 != S or year%19!=M :
    year += 1
print(year)
cs

 

 

 

 

 

 

 

 

 해설

 

- year를 1씩 증가시키면서 주어진 연산과 맞는지 확인한다. 나머지 연산이므로 15를 15로 나누면 나머지는 0이 되는데, 주어진 입력 조건에서는 15가 되므로 이를 0으로 맞춰주는 초기 세팅이 필요하다.

 

 

 

 

 

 

 

 새로 학습한 것 & 실수 

 

- 나머지 연산이라는 포인트는 잡았지만 나머지는 14 다음이 15가 아니라 0 이라는 것을 고려하지 못했다.

 

 

 

 

 

 

 

 

반응형
댓글