
아 이문제도 정말 오래걸렸다..
처음에 k라는 정수를 설정 안해주고 계속 n을 나누고 그러다가ㅠㅠ 무한루프를 돌아가지고..ㅠㅠㅠ
도움을 받고 왜 무한루프를 도는 지 알아내고 문제를 풀었더니..!
input이 1인 경우 1의 생성자가 없어서 문제가 생김!
그것도 처리해줬더니!
con<input일 때 break하는 걸로 해놨었는데 그렇ㅎ게 하면 안되나보다..!!
그래서 n==input 으로 바꿨더니 정답이 맞다고 나왔다.
반례 케이스를 알려주면 정말 좋을 것 같은데 그걸 안 보여주니까 어디서 틀렸는지 잘 모르겠다 하하..ㅎㅎㅎㅎㅎ
그래도 다 풀어냈다!
정답코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int input=sc.nextInt();
int n=0;
int k=0;
int con=0;
int sum=0;
sc.close();
while(con != input) {
n++;
k=n;
if (input==1) {
n=0;
break;
} else {
sum+=k;
while(k!=0) {
sum+=k%10;
k=k/10;
}
con=sum;
sum=0;
if (n==input) {
n=0;
break;
}
}
}
System.out.println(n);
}
}
댓글