강의로 돌아가기
Tim J. Lee

테스트 결과 76.1 % 이유를 알려주세요

답답하네요 ... 테스트1,3,마지막 실패라 나오는데 그래서 76.1% 라는데 어디가 부합하지 않는다는 거죠?

import java.util.*;
public class Solution {
public static void main(String[] args) {
Solution sl=new Solution();
int []array=sl.solution(12345);
System.out.println(Arrays.toString(array));
}
public int[] solution(long n) {
if(n<=0)
System.out.println(n은 자연수 이어야 합니다.);
int tmp=(int)n;
int co=0;
while(tmp/10!=0){
tmp=tmp/10;
co++;
}
co+=1;
int[] answer=new int[co];
for(int i=0;;i++){
if(n/10==0){
answer[i]=(int)n%10;
break;
}
answer[i]=(int)n%10;
n=n/10;
}
return answer;
}
}

2 개의 답변
이관구

int 대신 long long을 쓰세여

  • Tim J. Lee
    해보겠습니다! Tim J. Lee 2018.09.06 15:29
앤드루

int temp = (int)n; 이 부분이 문제이지 않을까 싶습니다.
temp를 이용해 while문을 돌리는데 n이 int범위를 넘어서는 값이 나오게되면 temp에 이상값이 입력되어서 루프가 제대로 돌지 않는 것 같습니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.