눈송이의 개발생활
[BOJ]1476 - 날짜 계산 (Python) 본문
문제
https://www.acmicpc.net/problem/1476
코드
E, S, M = map(int, input().split())
answer = 1
while True:
# 배수가 되는 수에서 빼고 그 다음 나머지 계산
if (answer - E)%15 == 0 and (answer - S)%28 == 0 and (answer - M)%19 == 0:
print(answer)
break
answer+=1
풀이
풀이를 생각해내는게 생각보다 오래 걸렸다.
실버5 문제인데도 꽤 어려워서(나한테는...) 내가 생각한 풀이를 완전 바꿔야 했었다.
처음에는 for문을 계속 돌면서 3 수(15, 28, 19)의 공배수를 찾는 방법으로 생각했는데 코드를 짤 수 없어서 반대로 접근해보았다.
숫자를 계속 키워가면서 3가지 조건에 모두 부합하는 수를 찾는 것이다.
코드에서 answer에서 E, S, M을 뺀 이유는, 이 숫자들이 곳 answer를 각 15, 28, 19로 나눴을 때의 나머지이기 때문이다.
아이디어만 잘 생각해 낸다면 어렵지 않게 풀 수 있는 문제였을 것 같다.
3일 뒤에 복습해야지~
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ]1406 - 에디터 (Python) (0) | 2022.01.15 |
---|---|
[BOJ]1748 - 수 이어 쓰기 1 (Python) (0) | 2022.01.13 |
[BOJ]3085 - 사탕 게임 (Python) (0) | 2022.01.11 |
[BOJ]6588 - 골드바흐의 추측 (Python) (0) | 2022.01.11 |
[BOJ]1929 - 소수 구하기 (Python) (0) | 2022.01.06 |
Comments