반응형
문제
풀이
10,000 보다 작은 셀프 넘버를 구하기 위해서 10000번 정도 for문을 돌리면서
길이가 10000인 배열을 선언하고
생성자를 구하는 함수를 만들어 해당 값을 리턴해서 해당 배열에 인덱스에 집어넣고 카운트를 높이고
카운트 0만 출력(셀프 넘버)을 하여 해결하였다
코드
public class Main {
public static void main(String[] args) {
int[] selfNumbers = new int[10000];
for (int i = 1; i < 10000; i++) {
selfNumbers[generator(i)]++;
}
for (int i = 1; i < selfNumbers.length; i++) {
if (selfNumbers[i] == 0) {
System.out.println(i);
}
}
}
public static int generator(int n) {
int sum = n;
while (n != 0) {
sum += n % 10;
n /= 10;
if (sum > 9999) {
return 0;
}
}
return sum;
}
}
출처
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 2869번 달팽이는 올라가고 싶다 자바 java (0) | 2021.04.13 |
---|---|
백준 1065번 한수 자바 java (0) | 2021.04.12 |
백준 15552번 빠른 A+B 자바 java (0) | 2021.04.11 |
백준 2884번 알람시계 자바 java (0) | 2021.04.11 |
백준 1110번 더하기 사이클 자바 java (0) | 2021.04.10 |
댓글