https://school.programmers.co.kr/learn/courses/30/lessons/12943
풀이 - 나의 생각
파이썬으로 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
'프로그래머스 > Lv.1' 카테고리의 다른 글
숫자 짝궁 - Python, Counter, extend (0) | 2024.11.10 |
---|---|
K번째 수 - Python, heap (1) | 2024.11.08 |
햄버거 만들기 - Python (1) | 2024.11.07 |
완주하지 못한 선수 - Pyhon, Counter (0) | 2024.11.05 |
2021 카카오 채용연계형 인턴십 > 숫자 문자열과 영단어 - Python (0) | 2024.11.05 |