[프로그래머스/Python] 점프와 순간 이동

Sujin Lee·2022년 10월 6일
0

코딩테스트

목록 보기
128/172
post-thumbnail

문제

프로그래머스 - 점프와 순간 이동

풀이 1 해결 과정

  • 거꾸로 라는 힌트를 보고.... 바로 구현
  • 2로 나누어지면 나누고 안나눠지면 1을 뺀다
  • 1을 뺐을 때는 ans + 1

풀이 1

def solution(n):
    ans = 0
    while n > 0:
        if n % 2 == 0:
            n = n // 2
        else:
            n = n -1
            ans += 1
            
    return ans

풀이 2 해결 과정

  • 이진수 이용
  • 5 = 101(2)101_{(2)}
  • 6 = 110(2)110_{(2)}
  • 5000 = 1001110001000(2)1001110001000_{(2)}
  • 건전지 사용량 = 이진수로 변환한 수의 1의 개수

풀이 2

def solution(N):
    return bin(N).count('1')
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글