프로그래머스/Lv.1
콜라츠 추측 - Python, DFS
아찌방
2024. 11. 8. 14:16
https://school.programmers.co.kr/learn/courses/30/lessons/12943
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
풀이 - 나의 생각
파이썬으로 DFS 처음 시도해봤습니다.
하는 방법은 역시나 똑같네요.
콜라츠 추측이라는 걸 처음 알게 됐는데 재밌는 추측이네요.
dfs 내부에서
num == 1을 먼저 체크하는 이유는
500번째에 딱 1이 됐을 경우도 체크하기 위해서 입니다.
코드
def dfs(cnt, num):
if num == 1:
return cnt
if cnt == 500:
return -1
if num%2==0:
return dfs(cnt+1, num/2)
else:
return dfs(cnt+1, (num*3)+1)
def solution(num):
return dfs(0, num)
728x90