반응형
https://www.acmicpc.net/problem/4673
생성자는 자기 자신 + 각각의 자릿수이다.
예를 들어 101은 101 + 1 + 0 + 1 = 104로 101은 104의 생성자입니다.
이때, 생성자가 없는 숫자를 셀프 넘버라고 하는데, 10000보다 작거나 같은 셀프 넘버를 출력합니다.
이 문제에서 각각의 자릿수를 판별하여 더해야 하는데, 그 알고리즘 기록을 위해 포스팅을 작성합니다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
public class Number_4673 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Boolean[] result = new Boolean[10001];
Arrays.fill(result, false);
for(int i = 1 ; i < 10001 ; i++) {
int constructor = makeConstructor(i);
if(constructor <= 10000) {
result[constructor] = true;
}
}
for(int i = 1 ; i <= 10000 ; i++) {
if(!result[i]) {
bw.write(String.valueOf(i) + "\n");
}
}
br.close();
bw.flush();
bw.close();
}
public static int makeConstructor(int N) {
int result = N;
while(N != 0) {
result = result + (N % 10); // 일의 자리 수
N = N / 10; // 일의 자리가 되면 몫이 0이기 때문에 반복문 종료
}
return result;
}
}
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준 알고리즘][자바] 1475번 : 방 번호 (0) | 2023.05.05 |
---|---|
[백준 알고리즘][자바] 1158번 : 요세푸스 문제 (0) | 2023.04.26 |
[백준 알고리즘][자바] 2577번 : 숫자의 개수 (0) | 2023.04.24 |
[백준 알고리즘][자바] 2480번 : 주사위 세개 (0) | 2023.04.20 |
[백준 알고리즘][JAVA] 2439번 : 별 찍기 - 2 (0) | 2023.04.19 |
댓글