[백준 01612] 가지고 노는 1 [Java]
2025. 8. 15. 18:00ㆍPS 풀이/Baekjoon Online Judge
문제
1612번: 가지고 노는 1
boj.ma
풀이
문제 요약
주어진 N의 배수 중 1로만 이루어진 자연수의 길이를 출력하자. 만약 없다면 -1을 출력하자.
아이디어
N이 2 또는 5로 나누어 떨어진다면, 1로만 이루어진 자연수(=N*K)는 존재하지 않는다.
따라서 N으로 나누어 떨어지는 NK를 찾으면 된다. NK가 너무 커질 수 있으니, N으로 나눈 나머지를 이용하자.
private static int solve(int N) {
if (N % 2 == 0 || N % 5 == 0) {
return -1;
}
int likeNum = 0;
int cnt = 0;
do {
likeNum = (10 * likeNum + 1) % N;
++cnt;
} while (likeNum % N > 0);
return cnt;
}
풀이 시간
30분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/normal/01612.java
problem-solving/baekjoon-online-judge/normal/01612.java at main · rogi-rogi/problem-solving
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
'PS 풀이 > Baekjoon Online Judge' 카테고리의 다른 글
| [백준 10736] XOR삼형제 2 [Java] (2) | 2025.08.18 |
|---|---|
| [백준 22965] k개의 부분 배열 [Java] (0) | 2025.08.16 |
| [백준 11947] 이런 반전이 [Java] (4) | 2025.08.14 |
| [백준 15311] 약 팔기 [Java] (4) | 2025.08.13 |
| [백준 04446] ROT13 [Java] (1) | 2025.08.13 |