728x90
문제
입력된 수가 짝수면 2로 나누고 홀수면 3을 곱한뒤 1을 더한다.
위의 과정을 1이 될때까지 반복하며 반복한 횟수를 출력한다.
이때 500번을 초과하여 반복했을 때도 1이되지 않는다면 -1을 출력한다.
입력
입력되는 정수는 1 이상 8000000 미만인 정수이다.
출력
반복횟수를 출력한다.
1. 500번의 for문을 실행한다.
2. 짝수면 2를 나누고 홀수면 3을 곱한 뒤 +1한다.
3. 위 과정 중 num이 1이라면 바로 횟수를 return한다.
4. for문에서 return하지 못했다면 -1을 return한다.
def solution(num):
answer = 0
for i in range(500):
if num==1:
return i
if num%2:
num=num*3+1
else:
num//=2
return -1
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[고득점 KIT] 주식가격 (0) | 2021.02.09 |
---|---|
[Level1] 문자열 내림차순으로 배치하기 (0) | 2021.01.25 |
[Level1] 체육복 (0) | 2021.01.25 |
[Level1] 핸드폰 번호 가리기 (0) | 2021.01.23 |
[Level1] 자연수 뒤집어 배열로 만들기 (0) | 2021.01.23 |