Study & Project ✏️/알고리즘 📋

백준[JAVA] 2231.분해합 - 자바

JM 2022. 9. 29. 10:09
반응형

📖 문제

📃 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

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());
        System.out.println(constructor(N));
    }

    public static int constructor(int num) {
        int result = 0;

        for (int i = 0; i < num; i++) {
            int t_num = i;
            int sum = 0;

            while (t_num != 0) {
                sum += t_num % 10;
                t_num /= 10;
            }

            if (sum + i == num) {
                result = i;
                break;
            }
        }
        return result;
    }
}

 

🔗 링크

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

 

2231번: 분해합

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

www.acmicpc.net