728x90
반응형
문제
정답 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int result = 0;
for(int i = 0; i < N; i++){
int num = i;
int sum = i;
while(num != 0){
sum += num%10;
num/=10;
}
if(sum == N){
result = i;
break;
}
}
System.out.println(result);
br.close();
}
}
- 메모리 14308KB
- 시간 144ms
이 문제도 이해를 못해서...뇌가 움직임을 못췄나..왜 자꾸 이해를 못하지...ㅠㅠ
10분 정도 계속 문제를 읽고 읽고 읽었네요...ㅎㅎ
N으로 216이 들어왔다고 예를 들어보면
216을 분해합으로 갖는 생성자들 중 최솟값을 찾는 문제입니다.
분해합은 본인과 본인을 구성하는 숫자들의 합입니다.
예를 들면 198은 198 + 1 + 9 + 8 = 216이 분해합입니다.
하나하나 다 해주시면 되는데
생성자가 없는 경우 0을 출력해줘야 한다는 점 잊지 말아주세요!
728x90
반응형
'Computer Science (CS) > 알고리즘' 카테고리의 다른 글
[백준/Java] 1018번 체스판 다시 칠하기 (0) | 2023.06.02 |
---|---|
[백준/Java] 19532번 수학은 비대면강의입니다 (0) | 2023.06.02 |
[백준/Java] 2798번 블랙잭 (0) | 2023.06.01 |
[백준/Java] 24313번 알고리즘 수업 - 점근적 표기 1 (0) | 2023.06.01 |
[백준/Java] 24267번 알고리즘 수업 - 알고리즘의 수행 시간 6 (0) | 2023.05.30 |