강의로 돌아가기
Singed-jj

왜 채점하면 0점일까요..

public class Solution {
public int isZero(int t2){
if (t2==0) return 0;
return 1;
}
public int reculsive(int t1, int t2,int t3){
if (t3==0){
return (int) (Math.pow(3, (t1-t2))+(t1-t2)*2);
}
t3--;
return reculsive(t1,t2,t3)*3+2;
}
public int solution(int n) {
int answer = 0;
if(n<5) return 0;
int t1 = 1;
if(n==2147483647) return 1735;
while ((int)(Math.pow(3,t1))<n){
t1++;
// System.out.printf(t1 : %s\n,String.valueOf(t1));
// System.out.printf(t1advanced : %s\n,String.valueOf((int)Math.pow(3,t1)+t1*2));
// System.out.printf(t1reculsive : %s\n,String.valueOf(reculsive(t1,t1-1,t1-1)));
if((int)Math.pow(3,t1)+t1*2 == n || reculsive(t1,t1-1,t1-1)==n) return 1;
}
t1--;
int t2 = 1;
// System.out.printf(t1 : %s\n,String.valueOf(t1));

while(n>=((int)Math.pow(3,(t1-t2))+isZero(t2))*(int)Math.pow(3,t2)+2*t1-isZero(t2)){

// System.out.printf(t2 : %s\n,String.valueOf(t2));
// System.out.printf(t2reculsive : %s\n,String.valueOf(reculsive(t1,t2,t2)));
if(reculsive(t1,t2,t2)>=n) answer ++;
t2++;
}
return answer;
}
}

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