728x90
반응형
문제:
두 정수 N과 F가 주어진다. 지민이는 정수 N의 가장 뒤 두 자리를 적절히 바꿔서 N을 F로 나누어 떨어지게 만들려고 한다. 만약 가능한 것이 여러 가지이면, 뒤 두 자리를 가능하면 작게 만들려고 한다.
예를 들어, N=275이고, F=5이면, 답은 00이다. 200이 5로 나누어 떨어지기 때문이다. N=1021이고, F=11이면, 정답은 01인데, 1001이 11로 나누어 떨어지기 때문이다.
입력:
첫째 줄에 N, 둘째 줄에 F가 주어진다. N은 100보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수다. F는 100보다 작거나 같은 자연수이다.
출력:
첫째 줄에 마지막 두 자리를 모두 출력한다. 한자리이면 앞에 0을 추가해서 두 자리로 만들어야 한다.
풀이방법:
N을 입력 받은 뒤에 가장 뒤 두 자리를 00으로 만드는 것으로부터 시작한다. 이후 이 값이 F로 나누어지면(나머지가 0이면) 이 값을 출력하고, 나누어지지 않는다면(나머지가 0이 아니라면) F로 나눈 것의 몫에 1을 더한 것에 F를 곱한 것이 최솟값이면서 나누어 떨어지는 수가 된다. 이 때 한자리면 앞에 0을 추가해줘야 하므로 미리 string으로 바꿔서 이를 방지한다.
1
2
3
4
5
6
7
8
|
n=input()
f=int(input())
n=n[:-2]+'00'
p,r=divmod(int(n),f)
if r==0:
print(n[-2:])
else:
print(str(f*(p+1))[-2:])
|
cs |
문제링크:
728x90
반응형
'Algorithm > Python' 카테고리의 다른 글
[BOJ]1629. 곱셈 (0) | 2019.10.07 |
---|---|
[BOJ]1789. 수들의 합 (0) | 2019.10.06 |
[BOJ]1890. 점프 (0) | 2019.10.04 |
[Programmers]2017 Kakao.다트 게임 (0) | 2019.10.02 |
[Programmers]2018 Kakao.후보키 (0) | 2019.10.01 |