Home [BaekJoon] 2231 ๋ถ„ํ•ดํ•ฉ JAVA
Post
Cancel

[BaekJoon] 2231 ๋ถ„ํ•ดํ•ฉ JAVA

๐Ÿ”— ๋ฐฑ์ค€ 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);
    }
}
This post is licensed under CC BY 4.0 by the author.

[BaekJoon] 4153 ์ง๊ฐ์‚ผ๊ฐํ˜• JAVA

[BaekJoon] 10828 ์Šคํƒ JAVA