본문 바로가기

Algorithm/프로그래머스 연습 문제

프로그래머스 / 코딩 테스트 / 콜라츠 추측

문제 설명

 

 

문제 해결

 

콜라즈 추측에 대해서 실제로 연산하는 프로그램을 작성하면 된다.

삼항연산자를 이용하면 코드를 많이 줄일 수 있다.

(다만 가독성이 좋은지는 잘 모르겠다.)

 

def solve(num):
    cnt = 0
    while num != 1 and cnt <500:
        cnt += 1
        num = int(num/2) if num % 2 == 0 else 3 * num + 1
    return -1 if cnt >= 500 else cnt

def solution(num):
    answer = solve(num)
    return answer