콜라츠 추측
문제링크
나의 풀이
def solution(num):
answer = 0
while num != 1:
if num % 2 == 0:
num = num / 2
else:
num = num * 3 + 1
answer+=1
if answer > 500:
answer = -1
return answer
- 얼핏 보면 복잡해 보일 수 있는 문제지만, 문제의 조건들을 하나씩 차근차근 파이썬 언어로 번역한다는 느낌으로 코드를 작성하면 비교적 쉽게 풀 수 있는 문제 였다. while 반복문의 기초적인 사용법을 익힐 수 있었다.
다른사람의 풀이
def collatz(num):
for i in range(0, 501):
if num == 1:
return i
if num % 2 == 0:
num /= 2
else:
num = 3 * num + 1
return -1
- 문제의 조건에 작업 횟수가 500번이 넘어가면 -1을 return한다는 조건을 for 반복문의 range로 지정하여 풀이한 코드이다.