Menu
CoddyTech

Number of 1 Bits

쉬움비트 조작python iconjava iconcpp iconc iconjs icon+10

음이 아닌 정수 n이 주어집니다. n을 이진수로 표현하고 숫자 1의 개수를 반환하세요. 이 개수는 설정된 비트 수, 팝카운트 또는 해밍 가중치라고도 합니다. 예를 들어, 6은 이진수로 110이므로 1 비트가 두 개 있습니다.

함수

hammingWeight(n: integer) → integer
ninteger
부호 있는 32비트 정수에 들어가는 음이 아닌 정수
반환값integer
n의 이진수 표현에서 1의 자릿수

제약 조건

  • 0 ≤ n ≤ 231-1

예제

입력
n = 11
출력
3
설명
11은 2진수로 1011이며, 이는 8 + 2 + 1입니다. 네 개의 2진 숫자 중 세 개가 1이므로 답은 3입니다.
challenge icon

후속 질문

이 함수가 수백만 번 실행된다면, 미리 계산해 둔 개수가 담긴 256개 항목의 테이블을 네 번 조회하여 32비트 숫자의 비트 수를 어떻게 셀 수 있을까요?

코드 초기화
def hammingWeight(n):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자

n = 11

예상 출력

3