[문제]
[해결]
def solution(num):
if num == 1:
return 0
for i in range(500):
num = num / 2 if num % 2 == 0 else num*3 + 1
if num == 1:
return i+1
return -1
[정리 및 새롭게 알게 된 점]
1. if num == 1: return 0을 통해 주어진 수가 1인 경우 0을 리턴해주었고,
2. for i in range(500)을 이용해 작업을 500번 반복하는 반복문을 작성한 뒤,
3, num 이 2로 나누어지면 num/2, num이 2로 나누어지지 않으면 num*3 +1을 해주었다
4. 계산된 num 값이 1을 가질 때 i+1을 반환하였으며, 반복문이 500번 시행되어도 num 이 1이 되지 않은 경우에는 -1을 리턴해주었다.
'Coding Test' 카테고리의 다른 글
[Python 프로그래머스] 서울에서 김서방 찾기 (1) | 2024.06.12 |
---|---|
[SQL 프로그래머스] 중성화 여부 파악하기 (0) | 2024.06.11 |
[Python 프로그래머스] 두 정수 사이의 합 (0) | 2024.06.10 |
[SQL 프로그래머스] 조건에 맞는 회원수 구하기 (0) | 2024.06.10 |
[Python 프로그래머스] 정수 제곱근 판별 (0) | 2024.06.07 |