728x90
반응형
1. 문제 설명
2. 풀이과정
- 주어진 수가 1이 될 때까지 반복해야 한다. while (num != 1)
- 만약 주어진 수 num이 짝수이면 if (num % 2 == 0)
- 주어진 수를 2로 나누고 그 결과를 다시 저장한다. num /= 2
- 반면에 주어진 수가 홀수면 else
- 주어진 수에 3을 곱하고 1을 더한 결과를 다시 저장한다. num = num * 3 + 1
- 이 과정이 이루어지면 총 반복 횟수에 1을 더한다. answer += 1
- 만약 총 반복 횟수가 500번이 될 때까지 주어진 결과가 1이 되지 않는다면 if (answer >= 500)
- -1을 반환한다. answer = -1
- 그리고 반복을 종료한다. break
반응형
3. 소스코드
def solution(num):
answer = 0
while (num != 1):
if (num % 2 == 0):
num /= 2
else:
num = num * 3 + 1
answer += 1
if (answer >= 500):
answer = -1
break
return answer
728x90
반응형
'프로그래머스 > Python' 카테고리의 다른 글
[프로그래머스] 핸드폰 번호 가리기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.30 |
---|---|
[프로그래머스] 음양 더하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.30 |
[프로그래머스] 나누어 떨어지는 숫자 배열 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.30 |
[프로그래머스] 서울에서 김서방 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.29 |
[프로그래머스] 두 정수 사이의 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.29 |
[프로그래머스] 하샤드 수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.29 |
[프로그래머스] 정수 내림차순으로 배치하기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.29 |
[프로그래머스] 문자열을 정수로 바꾸기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.06.29 |