coding test - python/Programmers
Programmers / 콜라츠 추측 / Python
sillon
2022. 3. 31. 22:40
728x90
반응형
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 콜라츠 추측
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12943
나의 풀이
def solution(num):
cnt = 0
while num > 1:
if num % 2 == 0:
num = num/2
cnt += 1
elif num % 2 == 1:
num = num*3 + 1
cnt += 1
if cnt == 500:
cnt = -1
break
return cnt
문제의 조건대로만 작성하면 쉽게 풀 수 있다.
다른 풀이
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
728x90
반응형