[Programmers / Level 1] 12943. 콜라츠 추측 (Java)

이하얀·2024년 11월 9일
0

🕊️ 프로그래머스

목록 보기
65/82

💡 Info




입출력 조건




입출력 예시




문제 이해


  • 콜라츠 추측 조건에 따라 모든 수를 1로 만드는 작업을 몇 번하면 되는지 그 수를 반환하는 문제


알고리즘


풀이 시간 : 15분

  • 반복문 사용하기
    • num이 짝수이면 2로 나누기
    • num이 홀수이면 num = num * 3 + 1을 실행
    • 반복 횟수를 answer에 카운트
  • 반복 횟수가 500번을 넘으면 -1 반환
import java.util.*;

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

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


결과

profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE&Data Science 개발 기록 노트☘️

0개의 댓글