π‘ Info
- λμ΄λ: Silver V
- μκ° μ ν: 1μ΄
- λ©λͺ¨λ¦¬ μ ν: 256MB
λ°±μ€ λ§ν¬: https://www.acmicpc.net/problem/4673
νμ΄ λ§ν¬(GitHub): hayannn/CodingTest_Java/λ°±μ€/Silver/4673.β μ ν λλ²
1
3
5
7
9
20
31
42
53
64
|
| <-- a lot more numbers
|
9903
9914
9925
9927
9938
9949
9960
9971
9982
9993
μ€μ νμ΄ μκ° : 27λΆ
d(n) = n + nμ μ²(λ―Έμ )μ μ리 +...+ nμ μΌμ μ리
)public class Main {
static int n;
static int[] selfNum = new int[10001];
public static void main(String[] args){
for(int i=1; i<10001; i++){
n = d(i);
if(selfNum[i] != d(i)) {
System.out.println(i);
}
}
}
public static int d(int num){
int sum = num; // 1. sumμ numμΌλ‘ μ΄κΈ°ννκΈ°
while(num!=0){ // 2. κ° μ리μλ₯Ό λνκΈ° μν λ°λ³΅λ¬Έ μμ±
sum = sum + (num % 10); // 3. numμ 첫λ²μ§Έ μ리 μλ₯Ό ꡬνκΈ° μν΄ %10μ ν λ€μ sumμ λνκΈ°
num = num / 10; // 4. κ·Έ μ΄ν /10μ μ§νν΄ 10μ μ€μ΄κΈ°
}
return sum; // 5. μΆλ ₯μ΄ λλ©΄ "μλλ" κ°μ΄ 리ν΄!(μ¦, κ²°κ³Όμμλ λ€μ§μ΄μ€μΌ νλ€λ κ²)
}
}
μ
ν λλ²λ§μ΄ μλ, λͺ¨λ λ²μμ μ«μκ° λ€ μΆλ ₯λμ΄ λ°±μ€μμ μΆλ ₯ μ΄κ³Ό
λ°μ
//μ
ν λλ²
for(int i=1; i<10001; i++) {
n = d(i);
if (n < 10001) {
selfNum[n] = true; //리ν΄λλ μλ μμ±μκ° μλ μ(μΆλ ₯ X)μ΄κΈ° λλ¬Έ
}
}
//μ
ν λλ² μΆλ ₯
for(int i=1; i<10001; i++) {
if(!selfNum[i]) {
System.out.println(i);
}
}
d(n) = n + nμ μ²(λ―Έμ )μ μ리 +...+ nμ μΌμ μ리
)public class Main {
static int n;
static boolean[] selfNum = new boolean[10001];
public static void main(String[] args){
//μ
ν λλ²
for(int i=1; i<10001; i++) {
n = d(i);
if (n < 10001) {
selfNum[n] = true; //리ν΄λλ μλ μμ±μκ° μλ μ(μΆλ ₯ X)μ΄κΈ° λλ¬Έ
}
}
//μ
ν λλ² μΆλ ₯
for(int i=1; i<10001; i++) {
if(!selfNum[i]) {
System.out.println(i);
}
}
}
public static int d(int num){
int sum = num; // 1. sumμ numμΌλ‘ μ΄κΈ°ννκΈ°
while(num!=0){ // 2. κ° μ리μλ₯Ό λνκΈ° μν λ°λ³΅λ¬Έ μμ±
sum = sum + (num % 10); // 3. numμ 첫λ²μ§Έ μ리 μλ₯Ό ꡬνκΈ° μν΄ %10μ ν λ€μ sumμ λνκΈ°
num = num / 10; // 4. κ·Έ μ΄ν /10μ μ§νν΄ 10μ μ€μ΄κΈ°
}
return sum; // 5. μΆλ ₯μ΄ λλ©΄ "μλλ" κ°μ΄ 리ν΄!(μ¦, κ²°κ³Όμμλ λ€μ§μ΄μ€μΌ νλ€λ κ²)
}
}