내가 하고싶은 건 다 하는 공간
[구현] 프로그래머스 level 1 콜라츠 추측 (Python 파이썬) 본문
💡문제 링크
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 기억할정보
...
'알고리즘' 카테고리의 다른 글
프로그래머스 level 0 배열 회전시키기 (Python 파이썬) (0) | 2025.06.17 |
---|---|
프로그래머스 level 0 특별한 이차원 배열 (Python 파이썬) (1) | 2025.06.17 |
프로그래머스 level 1 문자열이 몇 번 등장하는지 세기 (Python 파이썬) (0) | 2025.06.10 |
[그리디] 프로그래머스 level 1 부분 문자열 이어 붙여 문자열 만들기 (Python 파이썬) (0) | 2025.06.10 |
프로그래머스 level 1 배열의 길이에 따라 다른 연산하기(Python 파이썬) (0) | 2025.06.10 |