CS/Algorithm

[JAVA / 백준 : 4673] 셀프넘버

yujindonut 2021. 7. 28. 09:37
728x90

https://www.acmicpc.net/problem/4673

조건 

d[] 숫자가 10000을 넘지 않는 선에서 출력

d[]를 만들기 위해서 모든 자리수를 더해주는 반복문 필요

생성자가 없는 숫자인지 판단 필요

public class Main {

	public static int D(int num) {
		int sum = num;
		while(num > 0) {
			sum += (num % 10); //마지막 자리
			num /= 10;
		}
		return sum;
	}
	public static void main(String[] args) {
		
		boolean[] check = new boolean[10001]; // 1부터 10000이므로
		
		for(int i = 1; i < 10001; i++) {
			int n = D(i);	
			if(n < 10001) {
				check[n] = true;
			}
		}
		for(int i = 1; i < 10001; i++) {
			if(!check[i]) {
				System.out.println(i);
			}
		}
	}
}
728x90