분해합 (백준 2231번)

박영준·2023년 5월 28일
0

코딩테스트

목록 보기
159/300

메모


해결법

방법 1

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
 
		Scanner in = new Scanner(System.in);
        
		int N = in.nextInt();
        
		int result = 0;
 
		for (int i = 0; i < N; i++) {
			int number = i;		// 주어진 자연수
			int sum = 0;		// 각 자릿수 합
			
			while (number != 0) {		// number 가 10으로 더이상 나눠지지 않을 때까지 반복 (한 자릿수만 남을 때까지)
				sum += number % 10;		// 각 자릿수의 합 (일의 자릿수부터)
				number /= 10;
			}
			
			// 각 자릿수의 합 + 처음에 주어진 자연수 == N (생성자를 찾은 경우) 
			if (sum + i == N) {
				result = i;
				break;
			}
		}
 
		System.out.println(result);
	}
}

참고: [백준] 2231번 : 분해합 - JAVA [자바]


분해합 (백준 2231번)

profile
개발자로 거듭나기!

0개의 댓글