티스토리 뷰
이 문제는 브루트포스의 알고리즘 분류에 속해있는 문제로 일일이 하나하나 다 무식하게 넘어가야하는 그런 문제이다. 처음에 문제 풀 때는 방법1로 풀었다. 그러나 문제의 예시인 216을 입력하자 207이 나왔다. 잘못 코딩한줄 알았으나 207의 분해합도 216이기는 하다. 그러나 문제에서의 조건이 있었다. 숫자 중 가장 작은 숫자를 구하라고... 그래서 방법 1대로 하게되면 분해합 숫자중 가장 큰 수를 구하게 된다. 그래서 역순으로 1부터 하나하나 차근차근 올라가면 가장 작은 숫자를 구할 수 있게 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine().trim());
int ans = 0;
int tmp;
for (int i = 1; i <= num; i++) {
if (makeNum(num - i) == num) {
System.out.println(num - i);
break;
}
} //-----> 방법 1
for (int i = 1; i <= num; i++) {
if (makeNum(i) == num) {
System.out.println(i);
break;
}
} //-----> 방법 2
}
public static int makeNum(int a) {
int ans = a;
while (a > 0) {
ans += a % 10;
a /= 10;
}
return ans;
}
}
라고 코드를 제출했더니 틀렸다고 한다... 왜 그런가 하니 생성자가 존재 하지 않는 경우에는 0을 출력하라고...
for (int i = 1; i <= num; i++) {
if (makeNum(i) == num) {
System.out.println(i);
break;
}else if((i==num)&&makeNum(i)!=num) {
System.out.println("0");
}
} //-----> 방법 2
그래서 반복문 코드를 이렇게 수정하였다.
'Algorithm > 백준 문제풀이' 카테고리의 다른 글
백준 10818 자바 (0) | 2021.04.10 |
---|---|
백준 2751 수 정렬하기2 자바 (0) | 2019.12.14 |
백준 1712 손익분기점 (0) | 2019.11.28 |
백준 15740 (0) | 2019.05.28 |
백준 스택수열 1874번 (0) | 2019.05.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- python list 팁
- CLion 한글 깨짐
- 증감연산자 계산 순서
- C언어 배열 선언
- printf 계산 순서
- 필드 폭 지정
- 앱 프로그래밍
- C언어 printf문
- 모바일 앱 설계
- C언어 한글 깨짐
- 연산 순서
- printf문 연산자
- 복붙하기
- manifest 의미
- printf 스택
- MinGW 한글 깨짐
- 배열 주의사항
- 윈도우 복붙
- MinGW 한글
- 계산 순서
- c언어 공백 출력
- CLion 한글
- 배열 메모리 할당
- C언어 한글
- c언어 필드 폭지정
- 배열 메모리
- 백준
- res 의미
- 안스 프로젝트 구조
- 다이나믹 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함