몸과 마음이 건전한 SW 개발자

프로그래머스 [Lv. 1] 콜라츠 추측 {언어 : Java} 본문

개발 언어 입문/Java 입문

프로그래머스 [Lv. 1] 콜라츠 추측 {언어 : Java}

스위태니 2024. 6. 6. 14:11

문제 링크

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

 

프로그래머스

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

programmers.co.kr

정답 코드

class Solution {
    public int solution(int num) {
        int answer = -1;
        for (int i = 0; i < 501; i++) {
            if (num == 1) {
                answer = i;
                break;
            }
            if (num % 2 == 1) {
                num = num * 3 + 1;
            } else {
                // java 안되는 것 /=, *=
                num = num / 2;
            }
        }
        return answer;
    }
}

풀이 방법

  • 반복문을 500까지 할 수 있도록 만든다.
  • num이 1이 되면 answer에 현재 i값을 넣고 강제 종료 시킨다.
  • answer를 반환한다.

느낀점

  • 쉽지만 확실하게 풀어야 한다.
  • 파이썬에서 되는 /= 과 *=이 안되더라.