수 많은 우문은 현답을 만든다

(Easy) Number of 1 Bits 본문

코딩테스트/Dictionaries

(Easy) Number of 1 Bits

aiden.jo 2023. 6. 18. 23:17

Write a function that takes the binary representation of an unsigned integer and returns the number of '1' bits it has (also known as the Hamming weight).

Note:

  • Note that in some languages, such as Java, there is no unsigned integer type. In this case, the input will be given as a signed integer type. It should not affect your implementation, as the integer's internal binary representation is the same, whether it is signed or unsigned.
  • In Java, the compiler represents the signed integers using 2's complement notation. Therefore, in Example 3, the input represents the signed integer. -3.

 

Example 1:

Input: n = 00000000000000000000000000001011

Output: 3

Explanation: The input binary string 00000000000000000000000000001011 has a total of three '1' bits.

 

Example 2:

Input: n = 00000000000000000000000010000000

Output: 1

Explanation: The input binary string 00000000000000000000000010000000 has a total of one '1' bit.

 

Example 3:

Input: n = 11111111111111111111111111111101

Output: 31

Explanation: The input binary string 11111111111111111111111111111101 has a total of thirty one '1' bits.

 

풀이

더보기
class Solution:
def hammingWeight(self, n: int) -> int:
count = 0

# bi = bin(n)[2:]
bi = format(n, 'b') #위와 같은 결과
print(bi)

 

for i in bi:
if i == '1': #이진수는 문자로 취급
count += 1
 
return count

'코딩테스트 > Dictionaries' 카테고리의 다른 글

(Hard) Sherlock and Anagrams  (0) 2023.12.15
(Easy) Single Number  (0) 2023.06.18
(Easy) 애너그램 유효성 검사  (0) 2023.06.05