title: "[프로그래머스] 점프와 순간 이동 Python 파이썬 해설 (Level 2) - 이도훈"
cleanUrl: "programmers/12980"
description: "프로그래머스 Level 2 문제 [점프와 순간 이동]의 풀이를 정리합니다."
def solution(n):
# N이 10억 정도로 클 수 있습니다.
# O(log n), O(1) 정도에 해결하는 방법이 있다는 뜻입니다.
ans = 1
# 우선 n이 2로 나누어진다면, 나눌 수 있는 만큼 나눠봅니다.
while n > 1:
while n % 2 == 0:
n /= 2
# 예외처리: n이 1이면 그냥 끝냅니다.
if n == 1:
break
# 2로 안 나누어떨어지면 1을 빼서 2로 나누어떨어지게 합니다
n -= 1
ans += 1
return ans
프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges