[프로그래머스 파이썬] 점프와 순간 이동

일단 해볼게·2024년 2월 10일
0

프로그래머스

목록 보기
97/106

https://school.programmers.co.kr/learn/courses/30/lessons/12980

def solution(n):
    ans = 0
    
    while True:
        if n <= 0:
            break
        
        if n % 2 == 0: # 2로 나누어지는 경우
            n /= 2 
        else: # 2로 나누어지지 않는 경우
            n -= 1
            ans += 1

    return ans

다른 사람 풀이

def solution(n):
    return bin(n).count('1')

예시)

  • 2진수 4 = 100 -> 처음에 1로 가는 점프 이후에 순간 이동으로 목표 달성 가능
    • 이것은 n을 이진수로 변경했을 때 1의 개수만큼 점프한다는 것을 의미
profile
시도하고 More Do하는 백엔드 개발자입니다.

0개의 댓글