본문 바로가기
프로그래머스

[프로그래머스] 콜라츠 추측

by 소금_msg 2022. 12. 1.
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이었을때 처리도 해주어야한다.