
북북북..
함수 d를 만드는건 문제 없었는데 비교하는 방식에서 또 막혔엇다... 비슷한 문제를 많이 풀었는데 왜 기억하질 못하니.........................
함수는 수 + 자리수, 배열에 이 수들을 쭉 담아놓고 일치하지 않으면 출력한다.
class Main {
public static void main(String[] args) {
FunctionD functionD = new FunctionD();
int[] arrD = new int[10001]; // 10000 언더??
for (int i = 1; i < 10001; i++) {
int d = functionD.function_d(i);
if (d < 10001) {
arrD[d] = d;
}
}
for (int i = 1; i < 10001; i++) {
if (arrD[i] == 0)
System.out.println(i);
}
}
}
class FunctionD {
int function_d(int x) {
int tmp = x; // 수 자체도 더해야댐
int res = 0; // 자리수 더한값
while (x != 0) {
res += x % 10;
x /= 10;
}
retur res + tmp;
}
}
1부터 출력돼야해서 10001로 두고, 출력 idx를 1부터 시작함
북북북.. 벅벅벅.. 이마빡빡빡...