콜라츠 추측 Lv. 1

박영준·2023년 6월 16일
0

코딩테스트

목록 보기
256/300
class Solution {
    public int solution(int num) {
        int answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    // int 값의 한계 범위 때문에, 더 큰 long으로 바꿔줌
    public int solution(long num) {
        int answer = 0; 
        
        // num이 1이 아닌 경우에만, while문에 머무름
        while (num != 1) {
            if (num % 2 == 0) {
                num /= 2;
            } else {
                num = num * 3 + 1;
            }
            
            // while문을 1번 돌리면 answer을 1회 증가시켜준다(몇 번 반복했나?)
            answer++;

            // answer가 500번 더해지면, -1을 반환하고 break	 	
            if (answer == 500) {
                answer = -1;
                break;
            }
        }    
        
        return answer;
    }   
}    

콜라츠 추측 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글