본문 바로가기
프로그래밍/알고리즘

프로그래머스 - 콜라츠 추측 파이썬

by monicada 2022. 12. 26.
728x90

문제 

 

문제 풀이 

def solution(num):
    answer = 0
    #만약 1이라면
    if num == 1:
        #0을 리턴 
        return 0
    #while문으로 작성 
    while True:
        #짝수거나 홀수면 각각 맞게 num을 변환 
        num = num/2 if num % 2 == 0 else (num*3)+1
        #그리고 answer에는 +1을 진행 
        answer += 1
        #이렇게 한 것이 1이라면 
        if num == 1:
            return answer 
        #500까지 했는데 1이 안되면 
        elif answer == 500:
            #-1을 리턴 
            return -1
    return answer

 

 

댓글