본문으로 바로가기

2231 - 분해합 java

category Algorithm by java 2019. 8. 13. 21:06

 

이 문제를 풀 때, 가장 중요한 것은 각 자릿수의 값이다.

 

입력받은 num의 값에서,  나머지 연산자 %를 통해 1의자리 숫자를 알아내고,  나누기 연산자 ' / ' 를 통해

그다음 자릿수를 알아낸다.

 

이런식으로 기존 num값에 더해가면서 입력받은 num의 값과 같은 값을 찾아낸다.

 

res의 값을 0으로 초기화 해주면 따로 생산자가 없는 경우의 수를 신경쓸 필요가 없다.

 

 

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);

		int num = sc.nextInt();
		int a = num;
		int res = 0;
		while (num != 0) {
			num--;

			int temp = num;
			int temp2 = num;
			while (temp != 0) {
				temp2 += temp % 10;
				temp /= 10;
			}
			if (temp2 == a) {
				res = num;
			}

		}

		System.out.println(res);

	}
}

'Algorithm by java' 카테고리의 다른 글

백준 7568 덩치 java  (0) 2019.08.16
2798 블랙잭 - java  (0) 2019.08.14
2839 - 설탕배달 java  (0) 2019.06.27
1929 - 소수구하기 (에라토스테네스의 체) java  (0) 2019.05.13
1193 - 분수찾기 java  (0) 2019.05.12