문제풀이
문제 대충 읽고 이해를 못했다; 문제 꼼꼼하게 읽자 이해하고 나니 기본적인 브루트포스 방식이었고 쉬운 문제였다.
생성자들의 합으로 분해합이 만들어지는 것이기때문에 생성자는 분해합보다 무조건 작을 것이라고 생각했다.
그래서 for문을 n만큼 돌리면서 분해합을 만들면서 일치 여부를 판단하고 n과 일치하자마자 for문을 종료하면 가장 작은 생성자를 구할 수 있다.
char형을 int형으로 바꾸기 위해 -'0'해주었다.
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int n=scan.nextInt();
for(int i=0;i<n;i++){
int sum=i;
String temp =i+"";
for(int j=0;j<temp.length();j++){
sum+=temp.charAt(j)-'0';
}
if(sum==n){
System.out.println(i);
return;
}
if(i==n-1){
System.out.println("0");
}
}
}
}'알고리즘 리뷰' 카테고리의 다른 글
| 큐 개념 정리 JAVA (0) | 2024.03.15 |
|---|---|
| 자바 Stack 스택 개념 정리 (2) | 2024.03.12 |
| 백준 JAVA 11656 접미사 배열 리뷰 (0) | 2024.02.18 |
| 백준 JAVA 18312 시각 리뷰 (0) | 2024.02.17 |
| 백준 JAVA 2798 블랙잭 리뷰 dfs/3중for문 (0) | 2024.02.17 |