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
'코딩테스트 > 백준-Java' 카테고리의 다른 글
[백준 자바] 2164번(카드 2) - 큐 (0) | 2024.07.02 |
---|---|
[백준 자바] 2161번(카드 1) - 큐 (0) | 2024.07.02 |
[백준 자바] 25497번(기술 연계마스터 임스) (1) | 2024.06.28 |
[백준 자바] 10799번(쇠막대기) (0) | 2024.06.28 |
[백준 자바] 2417번(정수 제곱근) - 큰 수 제곱근 (0) | 2024.06.27 |