코테 공부

프로그래머스 Lv.2 점프와 순간 이동

dnjswngo 2024. 10. 3. 18:57
def solution(n):
    ans = 0
    while n!=0:
        if n%2==0:
            n=n//2
        else:
            ans+=1
            n=(n-1)//2
    return ans

 

거꾸로 숫자 세기

20 >10>5>4>2>1>0

 

두배가 안되는건 점프니까 count해주기

 

다른사람풀이

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

이진법에서 1은 홀수인걸 나타냄 > 1숫자는 홀수 갯수 == 위 풀이에서도 +1 하는거만 셋으니

 

근데 시간복잡도는 둘 다 logn이라는데 그럼 굳이 아닐까?