import java.util.*;
class Solution {
public int solution(int num) {
int answer = 0;
int cnt = 0;
if(num ==1){
return answer;
}
while(cnt<=500){
if(num%2==0){
num = num/2;
cnt++;
if(num==1||num<0){
break;
}
}
if(num%2!=0){
num = (num*3)+1;
cnt++;
if(num==1||num<0){
break;
}
}
}
if(num!=1){
cnt = -1;
}
return cnt;
}
}
626331이 cnt 488번쯤에서 1로 변해서 계속 오류가 났었던것....
num이 음수가 됐을때 반복문을 빠져나오게 해서 해결.
+그리고 num이 1이었을때 처리도 해주어야한다.
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 진료순서 정하기 (0) | 2022.12.02 |
---|---|
[프로그래머스] 합성수 찾기 (0) | 2022.12.02 |
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) | 2022.12.01 |
[프로그래머스] 없는 숫자 더하기 (0) | 2022.12.01 |
[프로그래머스] 문자열 다루기 기본 (0) | 2022.12.01 |