반응형
<코드>
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int arr[] = new int[1000054];
for (int i = 1; i <= N; i++) {
int tmp = sum(i);
if(arr[tmp] == 0) {
arr[tmp] = i;
}else {
arr[tmp] = Math.min(arr[tmp], i);
}
}
System.out.println(arr[N]);
}
public static int sum(int x) {
int tmp = x;
while (x > 0) {
tmp += x%10;
x /= 10;
}
return tmp;
}
}
arr의 크기가 1000054인 이유는 999999의 분해합이 1000053이기 때문입니다.
https://www.acmicpc.net/problem/2231
반응형
'🧩PS > 🥉Easy' 카테고리의 다른 글
[JAVA] 백준 1018번 - 체스판 다시 칠하기 (0) | 2021.10.05 |
---|---|
[JAVA] 백준 7568번 - 덩치 (0) | 2021.10.05 |
[JAVA] 백준 2798번 - 블랙잭 (0) | 2021.10.05 |
[JAVA] 백준 10870번 - 피보나치 수 5 (0) | 2021.10.05 |
[JAVA] 백준 10872번 - 팩토리얼 (0) | 2021.10.05 |