알고리즘
[구현] 프로그래머스 level 1 콜라츠 추측 (Python 파이썬)
하고파
2025. 6. 10. 21:50
💡문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/12943
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
💡문제 분석 요약
숫자가 1이 될때까지 아래의 플로우를 반복한다.
1-1. 입력된 수가 짝수라면 2로 나눕니다.
1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다.
2. 결과로 나온 수에 같은 작업을 1이 될 때까지 반복합니다.
이 플로우를 500번 진행해도 1이 안된다면 -1을 반환하고, 아니라면 플로우 진행 횟수를 반환한다.
💡알고리즘 설계
while에 조건 넣으려다 헷갈렸다. 일단 while True로 두고 if문으로 조건을 부여하자
💡코드
def solution(num):
answer = 0
while True:
if num == 1:
return answer
elif num % 2 == 0:
num = num // 2
else: num = num*3 + 1
answer += 1
if answer == 500: return -1
💡 오답 풀이
...
💡 다른 풀이
...
💡 느낀점 or 기억할정보
...