문제 풀이/Programmers

[python3][level 2] 콜라즈 추측

[잉간] 2018. 4. 13. 17:32


이것보다 더 나은 코드가 있을지 생각해보았는데 아직 공부가 부족해 더 이상 생각나지 않는다.

문제풀이

def collatz(num):
    cnt = 0
    answer = num
    while cnt < 500:
        if answer % 2 == 1:
            answer = answer * 3 + 1
            cnt += 1
            if answer == 1:
                return cnt
        else:
            answer //= 2
            cnt += 1
            if answer == 1:
                return cnt
    return -1

# 아래는 테스트로 출력해 보기 위한 코드입니다.
print(collatz(6))