두 정수 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=275이고, F=5이면, 답은 00이다. 200이 5로 나누어 떨어지기 때문이다.
N=1021이고, F=11이면, 정답은 01인데, 1001이 11로 나누어 떨어지기 때문이다.
뒤 두자리를 0으로 만들어버리고 1씩 증가시키면서 f
로 나누어 떨어질 때까지 계속 비교/반복해주면 됩니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int f = sc.nextInt();
int temp = (n/100) * 100;
while(true) {
if(temp % f == 0) {
int res = temp % 100;
if(res < 10) System.out.println("0" + res);
else System.out.println(res);
break;
}
temp++;
}
}
}
n
과 f
를 입력받고 n
을 100으로 나눠 다시 100을 곱해 뒷자리를 없애 00을 붙여준 값을 temp
에 저장해 줍니다.
그리고 temp
를 f
로 나눈 나머지가 0이라면 temp
를 100으로 나눈 나머지가 10보다 작을 때, 그러니까 1의자리 숫자가 나올 때 이 숫자의 앞에 0을 붙여 출력해주고, 그렇지 않을 때는 그냥 출력해줍니다.
이 때 temp
는 1씩 증가합니다.