본문 바로가기

프로그래머스 알고리즘 문제/Level 1

프로그래머스 Level 1 - 콜라츠 추측

내 정답:

 

def solution(num):
    count = 0
    while not num == 1 and count < 500:
        if num%2:
            num = num * 3 + 1
        else:
            num /= 2
        count += 1
    return count if count < 500 else -1

 

다른 사람들의 정답:

 

def collatz(num):
    for i in range(500):
        num = num / 2 if num % 2 == 0 else num*3 + 1
        if num == 1:
            return i + 1
    return -1