코딩테스트/백준-Java
[백준 자바] 4375번(1) - 1로만 이루어진 n의 배수
gamzaggang7
2024. 10. 10. 15:35
728x90
실버 3
문제
2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 각 자릿수가 모두 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, n이 주어진다.
출력
각 자릿수가 모두 1로만 이루어진 n의 배수 중 가장 작은 수의 자리수를 출력한다.
728x90
import java.io.*;
public class Main4375 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str;
while ((str = br.readLine()) != null && !str.isEmpty()) {
int n = Integer.parseInt(str);
int oneNum = 1;
int length = 1;
if (n == 1)
System.out.println(1);
else {
while (oneNum != 0) {
oneNum = (oneNum * 10 + 1) % n;
length++;
}
System.out.println(length);
}
}
bw.flush();
br.close();
bw.close();
}
}
입력이 여러 개의 테스트 케이스로 이루어져 있으므로 null이 될 때까지 처리합니다.
로직)
- oneNum은 1로만 이루어진 숫자입니다. 처음에 1로 설정하고 11, 111, 1111, ... 형태로 만들고 n을 나누어 나머지를 확인합니다.
- 나머지가 0이 아니면 length(1로만 이루어진 수의 길이)를 1 증가시키고 0이면 자릿수를 출력합니다.
- 입력값이 1인 경우에는 곧바로 1을 출력합니다.
728x90