본문 바로가기

카테고리 없음

프로그래머스 코딩테스트 연습 : 콜라츠 추측 (20240311, java)

728x90

문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/12943

나의 풀이

class Solution {
    public int solution(int num) {
        long result = num;
        if(num == 1){
                return 0;
            };
        for(int i = 0; i < 500; i++){
             result = result % 2 == 0 ? result / 2 :  result * 3 + 1;
          
            if(result == 1){
                return  i + 1;
            }
            
           
        }
        return -1;
    }
}

 

다른 사람의 풀이

class Solution {
    public int solution(long num) {
        int answer = 0;

        while(num != 1){
            answer++;
            if(answer==500)
                return -1;
            if(num%2==0){
                num/=2;
            }else{
                num=num*3+1;
            }
        }
        return answer;
    }
}

 

소감

자료형의 길이도 외워보자