Lewis's Tech Keep

[백준] 분해합 본문

Java/알고리즘

[백준] 분해합

Lewis Seo 2021. 6. 8. 16:08

https://www.acmicpc.net/problem/2231

 

2231번: 분해합

어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이

www.acmicpc.net

 

- 완전탐색 문제

- 제일 큰 값이 1,000,000 밖에 되지 않기 때문에 시간 초과 걱정이 없음.

 

 

더보기
import java.util.Scanner;

class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int answer = 0;
        for (int i = 1; i < 1_000_000; i++) {
            int currentNum = i + sumNums(i);
            if (N == currentNum) {
                answer = i;
                break;
            }
        }
        System.out.println(answer);
    }

    private static int sumNums(int n) {
        int sum = 0;
        while (n > 0) {
            sum += n % 10;
            n /= 10;
        }
        return sum;
    }
}
Comments