728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/12943
1. 재귀
global cnt
cnt = 0
def solution(num):
global cnt
if cnt > 500:
return -1
if num == 1:
return cnt
if num%2 == 0:
cnt += 1
return solution(num//2)
else:
cnt += 1
return solution(num*3 + 1)
2. 반복문
def solution(num):
cnt = 0
while num != 1:
if num%2 == 0:
cnt += 1
num = num//2
else:
cnt += 1
num = num*3 + 1
return cnt if cnt <= 500 else -1
'코딩테스트 문제' 카테고리의 다른 글
[프로그래머스/Python] 다트 게임 (0) | 2024.04.16 |
---|---|
[프로그래머스/Python] 야근 지수 (0) | 2024.02.20 |
[프로그래머스/Python] 베스트 앨범 (0) | 2024.01.20 |
[프로그래머스/Python] 기능개발 (0) | 2024.01.20 |
[프로그래머스/Python] 햄버거 만들기 (0) | 2024.01.20 |