본문 바로가기
프로그래머스/Python

[프로그래머스] 콜라츠 추측 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 6. 29.
728x90
반응형

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 문제 설명

2. 풀이과정

  1. 주어진  수가 1이 될 때까지 반복해야 한다. while (num != 1)
  2. 만약 주어진 수 num이 짝수이면 if (num % 2 == 0)
  3. 주어진 수를 2로 나누고 그 결과를 다시 저장한다. num /= 2
  4. 반면에 주어진 수가 홀수면 else
  5. 주어진 수에 3을 곱하고 1을 더한 결과를 다시 저장한다. num = num * 3 + 1
  6. 이 과정이 이루어지면 총 반복 횟수에 1을 더한다. answer += 1
  7. 만약 총 반복 횟수가 500번이 될 때까지 주어진 결과가 1이 되지 않는다면 if (answer >= 500)
  8. -1을 반환한다. answer = -1
  9. 그리고 반복을 종료한다. break
반응형

3. 소스코드

def solution(num):
    answer = 0
    
    while (num != 1):
        if (num % 2 == 0):
            num /= 2
        else:
            num = num * 3 + 1
        
        answer += 1
        if (answer >= 500):
            answer = -1
            break
        
    return answer
728x90
반응형