숫자 n이 있다고 가정하고 해당 숫자의 이진 표현에 있는 비트 1의 수를 찾아야 합니다.
따라서 입력이 12와 같으면 출력은 2가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 카운트:=0
- n이 0이 아닌 동안 do
- count :=count + (n AND 1)
- n :=(n / 2)의 바닥
- 반환 횟수
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution:def solve(self, n):count =0 while (n):count +=n &1 n>>=1 return countob =Solution()print(ob.solve(12))사전>입력
12출력
2