본문 바로가기

algorithm

백준 2231 - 분해합

import java.util.Scanner;

public class Main {

    // 백준 2231 분해합 - 완전탐색
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int nunmber = scanner.nextInt();
        System.out.println(findGenerator(nunmber));
    }

    public static int findGenerator(int number) {
        // 1에서부터 분해합을 찾아나간다.
        for(int i = 1; i < number; i++) {
            // 분해합 구하기
            int digitSum = i, n = i;
            while(n > 0) {
                digitSum += n % 10; // 맨 끝자리를 더한다
                n /= 10; // n을 10으로 나눠 1의 자리를 없앤다
            }
            if(digitSum == number) return i;
        }
        return 0;
    }
}

문제링크: 2231 - 분해합

'algorithm' 카테고리의 다른 글

백준 1436 - 영화감독 숌  (0) 2021.10.26
백준 1018 - 체스판 다시 칠하기  (0) 2021.10.26
백준 2798 - 블랙잭  (0) 2021.09.17
백준 1065 - 한수  (0) 2021.09.16
카펫  (0) 2021.04.11