본문 바로가기
Etc/Coding Test

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

by 달의 조각 2022. 2. 3.

 

💡 구현 방식: 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;
	}
}

댓글