💡 구현 방식: 1부터 10000까지 검사한 뒤, 해당 수를 생성자로 하는 수가 있으면 그 수를 거른다.
public class Main {
public static void main(String[] args) {
boolean[] check = new boolean[10001];
for(int i=1; i<check.length; i++) {
int n = d(i);
if(n < 10001) {
check[n] = true;
}
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i < 10001; i++) {
if (!check[i]) {
sb.append(i).append('\n');
}
}
System.out.println(sb);
}
static int d(int number) {
int sum = number;
while(number != 0) {
sum = sum + number % 10;
number /= 10;
}
return sum;
}
}
'Etc > Algorithm' 카테고리의 다른 글
[JAVA] 2071. 평균값 구하기 (0) | 2022.05.23 |
---|---|
[JAVA] 2072. 홀수만 더하기 (0) | 2022.05.23 |
[JAVA] 백준 8958번: OX퀴즈 / length와 length(), size()의 차이 (0) | 2022.01.27 |
[JAVA] 백준 3052번: 나머지 / BufferedReader, HashSet (0) | 2021.12.18 |
[JAVA] 백준 2577번: 숫자의 개수 (0) | 2021.12.18 |
댓글