반응형
https://www.acmicpc.net/problem/1075
내 답안
N = int(input())
F = int(input())
nature = N
lst = []
while (str(N)[-2:] != '00'):
N -= 1
if N%F == 0:
lst.append(str(N)[-2:])
if len(lst) > 0:
print(min(lst))
else:
for i in range(nature, 20000000001):
if i % F == 0:
print(str(i)[-2:])
break
else:
i += 1
while (str(N)[-2:] != '00'): # 뒤 두자리수 00 이 될때까지 빼준다.
N -= 1
if N%F == 0:
lst.append(str(N)[-2:])
첫 번째 N의 뒤 두 자릿수가 00이 될 때까지 1씩 빼주면서 F로 나눠서 0이 되는 값을 리스트에 담았다.
( 리스트에 넣은 이유는 최솟값을 구해야 하기 때문에 활용을 하였다. )
if len(lst) > 0:
print(min(lst))
그중에 가장 작은 값을 출력해 주면 된다.
else:
for i in range(nature, 20000000001):
if i % F == 0:
print(str(i)[-2:])
break
else:
i += 1
하지만 리스트에 아무것도 없을 경우 주어진 숫자(N)에서 1씩 더하면서 0으로 나눠지는 값이 있는지 확인한다.
값이 구해지면 그만 더하고 출력을 하고 break를 걸어 프로그램이 종료되는 알고리즘을 짰다.
반응형
'BOJ > Python' 카테고리의 다른 글
백준 2839번 설탕 배달 파이썬 (0) | 2022.03.03 |
---|---|
백준 24542번 튜터-튜티 관계의 수 파이썬 (0) | 2022.02.28 |
백준 11655번 ROT13 파이썬 (0) | 2022.02.24 |
백준 10798번 세로읽기 파이썬 (0) | 2022.02.23 |
백준 1100번 하얀칸 파이썬 (0) | 2022.02.23 |