본문 바로가기
코딩테스트 연습/백준 Boj

[백준] 1075번 나누기 (python)

by Lagooni 2021. 12. 3.

문제

두 정수 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을 추가해서 두 자리로 만들어야 한다.

예제 입력 1

1000
3

예제 출력 1

02

예제 입력 2

2000000000
100

예제 출력 2

00

풀이방법

  • 끝에 2자리는 00부터 시작하면 가장 작은 수를 찾을 수 있다.
  • n 은 끝 2자리를 제외하고 문자열 처리로 '00' ~'99' 까지 끝에 붙인다.
  • f로 나누어 지면 그때의 i를 출력하면 되지만 i가 10보다 작을 경우는 01, 02 의 출력이 되야하기 때문에 조건을 걸어준다.
n = input()
f = int(input())

n = n[:-2]

for i in range(100):
    tempN = n
    ans = ''
    if i < 10:
        ans = '0' + str(i)
        tempN = tempN + ans
    else:
        ans = str(i)
        tempN += ans
    if int(tempN) % f == 0:
        if i<10:
            print('0'+str(i))
        else:
            print(str(i))
        break

 

댓글