๐ ๋ฐฑ์ค 2231 ๋ถํดํฉ https://www.acmicpc.net/problem/2231
**๋ฌธ์ **
์ด๋ค ์์ฐ์ N์ด ์์ ๋, ๊ทธ ์์ฐ์ N์ ๋ถํดํฉ์ N๊ณผ N์ ์ด๋ฃจ๋ ๊ฐ ์๋ฆฌ์์ ํฉ์ ์๋ฏธํ๋ค. ์ด๋ค ์์ฐ์ M์ ๋ถํดํฉ์ด N์ธ ๊ฒฝ์ฐ, M์ N์ ์์ฑ์๋ผ ํ๋ค. ์๋ฅผ ๋ค์ด, 245์ ๋ถํดํฉ์ 256(=245+2+4+5)์ด ๋๋ค. ๋ฐ๋ผ์ 245๋ 256์ ์์ฑ์๊ฐ ๋๋ค. ๋ฌผ๋ก , ์ด๋ค ์์ฐ์์ ๊ฒฝ์ฐ์๋ ์์ฑ์๊ฐ ์์ ์๋ ์๋ค. ๋ฐ๋๋ก, ์์ฑ์๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ์์ฐ์๋ ์์ ์ ์๋ค.
์์ฐ์ N์ด ์ฃผ์ด์ก์ ๋, N์ ๊ฐ์ฅ ์์ ์์ฑ์๋ฅผ ๊ตฌํด๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์์ฐ์ N(1 โค N โค 1,000,000)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค. ์์ฑ์๊ฐ ์๋ ๊ฒฝ์ฐ์๋ 0์ ์ถ๋ ฅํ๋ค.
ํ์ด
์ด๋ค ์ N์ ๋ถํดํฉ์ผ๋ก ๊ฐ๋ ์์ฑ์๋ฅผ X๋ผ๊ณ ํ๋ค๋ฉด N = X + X์ ๊ฐ ์๋ฆฌ์์ ํฉ ์ด๋ค
N์ด 3์๋ฆฌ ์๋ผ๊ณ ํ๋ฉด N = X + Xโ + Xโ + Xโ
์ด๋ฅผ ์ดํญํ๋ฉด N - (Xโ + Xโ + Xโ) = X
๊ทธ๋ฆฌ๊ณ ๊ฐ Xn์ด ๋ ์ ์๋ ์ต๋๊ฐ์ N - (9 + 9 + 9) = X
์ฆ, N - (9 ร X์ ๊ธธ์ด) ๋ถํฐ N๊น์ง ํ์์ ํ๋ฉด X๋ฅผ ๊ตฌํ ์ ์๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int len = String.valueOf(n).length();
int ans = 0;
for (int i = (n - (len * 9)); i < n; i++) {
int num = i;
int sum = 0;
while (num != 0) {
sum += num % 10;
num /= 10;
}
if (sum + i == n) {
ans = i;
break;
}
}
System.out.println(ans);
}
}