level1_콜라츠 추측
2024. 1. 12. 17:50ㆍ파이썬_알고리즘(코딩테스트)/level1
문제 설명
1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될 때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다.
내가 한 풀이
def solution(num):
answer = 0
if num == 1: # num이 1이면 0을 반환한다.
return 0
while True:
num = num / 2 if num % 2 == 0 else (num*3)+1
answer += 1
if num == 1:
return answer
elif answer == 500:
return -1
return answer
다른 사람 풀이
def solution(num):
answer = 0
for i in range(500):
if num % 2 == 0:
num = num/2
answer += 1
if num == 1:
break
if num % 2 != 0:
num = (num*3)+1
answer += 1
if num == 1:
break
if answer > 500 and num != 1:
answer = -1
break
return answer'파이썬_알고리즘(코딩테스트) > level1' 카테고리의 다른 글
| level1_음양 더하기 (0) | 2024.01.30 |
|---|---|
| level1_없는 숫자 더하기 (1) | 2024.01.29 |
| level1_제일 작은 수 제거하기 (0) | 2024.01.24 |
| level1_두 정수 사이의 합 (0) | 2024.01.24 |
| level1_나누어 떨어지는 숫자 배열 (0) | 2024.01.23 |