자두의 데브로그

[자바] 프로그래머스 콜라츠 추측 본문

코딩테스트/Java

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

왕자두 2024. 10. 1. 02:13

https://school.programmers.co.kr/learn/courses/30/lessons/12943

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

이 문제가 어려운 건 절대 *100 아니지만 계속 마지막 테스트 케이스에서 틀리는 데 이유를 전혀 모르겠어서 결국 구글링의 힘을 빌렸더니.. 아 .. 마지막 테스트 케이스는 계산하다보니 int의 범위를 넘어가서 안되는 거였다. 입력 받는 num을 long으로 수정해서 돌리니 바로 해결!

 

class Solution {
    public int solution(long num) {
        int answer = 0;
        while(num != 1){
            if(answer == 500){
                answer = -1;
                break;
            }
            
            if(num % 2 == 0) num/=2;
            else{
                num *= 3;
                num += 1;
            }
            answer++;
        }
        return answer;
    }
}

 

문제 풀 때 생각을 하고 푸는 연습을 하자 !