알고리즘/백준(backjoon)

[Baekjoon]백준 NO.4673 셀프 넘버(실버5) / Java(자바)

씨네 2021. 7. 30. 18:20
728x90

셀프넘버... 그닥 어렵지는 않은문제지만 풀때 상당히 애먹었습니다 ㅠㅠ

 

수열의 구칙을 찾아내는것이 키포인트 인데요!

 

제가 푼 풀이는 다음과 같습니다.

(풀이는 댓글에 요청이 있으면 수정하도록 하겠습니다!)

 

public class Main {
	
	private static int maxNum = 10000;
	
	public static void main(String[] args) {
		
		String num = null;
		int [] notSelfNum = new int [maxNum];
		int d = 0;
		int sum = 0;
		int tmp = 0;
		for(int i = 0; i < maxNum; i++) {
			notSelfNum[i] = i + 1;
		}
		
		for(int i = 0; i < maxNum; i++) {
			
			num = i + 1 + "";
			
			String [] s = num.split("");
			
			d = 0;
			sum = 0;
			
			
			for(int j = 0; j < s.length; j++) {
				d += Integer.parseInt(s[j]);
			}
			
			sum = d + i + 1;
			
			for(int j = 0; j < maxNum; j++) {
				
				if(sum == notSelfNum[j]) {
					
					notSelfNum[j] = 0;
					
				}
			}
		}
		
		for(int i = 0; i < maxNum; i++) {
			
			if(notSelfNum[i] != 0) {
				System.out.println(notSelfNum[i]);
			}
		}
	}
	
}
728x90