728x90
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12943
난이도 : Lv.1
풀이
def solution(num):
answer = 0
while True:
if num == 1:
return answer
if answer == 500:
return -1
if num % 2 == 0:
num = num / 2
elif num % 2 == 1:
num = num * 3 + 1
answer += 1
양심상... 설마 이렇게 단순한 풀이를 원했을까...하는 마음에 다른 풀이를 고민해봤다..
다른 풀이
def solution(num):
for i in range(501):
if num == 1:
return i
num = num/2 if num%2==0 else num*3+1
return -1
다른 사람의 풀이를 보니 어떤 씽크빅이 있다긴보다 이렇게 단순하게 깔끔 명료한 코드를 작성하는 게 중요한 문제였음을 깨달음
728x90