코딩테스트 문제풀이

[백준 2231] 분해합

지잉지잉 2021. 9. 22. 14:06

문제

 

풀이

package com.allwon.skylife.tcs;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;

class Main {
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		int n = scan.nextInt();
		
		int answer = 0;
		for (int i = 1; i < n; i++) {
			int sum = 0;
			sum += i;
			String iString = String.valueOf(i);
			for (int j = 0; j < iString.length(); j++) {
				sum += Character.getNumericValue(iString.charAt(j));
			}
			
			if (sum == n) {
				answer = i;
				break;
			}
		}
		
        
		System.out.println(answer);
	}
	
}
  • 1부터 n까지의 모든 분해합을 구해본다. (브루트포스) 
  • 분해합이 입력받은 n과 같으면 반환

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