[파이썬/python] 프로그래머스 : 점프와 순간 이동 (Lv.2)

https://school.programmers.co.kr/learn/courses/30/lessons/12980?language=python3 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이

def solution(n):
    b = 1
    while n!=1:
        if n%2 == 1:
            n -= 1
            b += 1
        else:
            n /= 2
    return b

 

 

효율성 테스트 통과 못했던 답

def solution(n) :
    x = 1
    b = 1
    while x != n:
        if x * 2 > n:
            n -= x
            b += 1
            x = 1
        else:
            x *= 2
    return b

 

 

그냥 0이 될 때까지 2로 계속 나눠주고, 2로 나눴을 때 나머지가 0이 아닐 때만 +=1 해주면 가장 작은 건전지 사용량이 나왔다

comment