카테고리 없음

프로그래머스 콜라츠 추측

juwanseo 2025. 3. 26. 20:51

문제

 

def solution(num):
    answer = 0  # 반복 횟수를 기록할 변수
    while num != 1:  # num이 1이 될 때까지 반복
        if num % 2 == 0:  # num이 짝수이면
            num /= 2  # 2로 나눈다
        else:  # num이 홀수이면
            num = (num * 3) + 1  # 3을 곱하고 1을 더한다
        answer += 1  # 한 번의 연산이 끝날 때마다 answer를 증가시킨다
        
        if answer >= 500:  # 500번 이상의 반복이 일어나면
            answer = -1  # answer를 -1로 설정하고
            break  # 반복을 종료한다
    return answer  # answer를 반환