알고리즘/백준(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