- ํ์ด์ฌ์์๋ ํจ์๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ด ๋ ๋น ๋ฅด๊ณ ๊ฐํธํ์ง๋ง, Java์์๋ ๋์ง ์์ผ๋ ๋นํธ๋ก ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ๋ ๊ตฌํํ๋ค.
- ๋จ, ๋นํธ๋ก ๊ณ์ฐํ ๋๋ n๊ณผ n - 1์ AND ์ฐ์ฐ์ ์งํํ ์์ ์ด๋ป๊ฒ ๋๋์ง ๋ฏธ๋ฆฌ ์๊ณ ์์ด์ผ ํ ์ ์๋ค.
Solution - Function
class Solution:
def hammingWeight(self, n: int) -> int:
return bin(n).count('1')
Solution - Bit
class Solution:
def hammingWeight(self, n: int) -> int:
answer = 0
# n๊ณผ n - 1์ ๋ํ์ฌ AND ์ฐ์ฐ์ ์งํ -> ๋ฌด์กฐ๊ฑด ๋นํธ๊ฐ 1์ฉ ์ ๊ฑฐ๋จ
# ์ฆ, ์ด ์ฐ์ฐ์ ์งํํ ํ์๋ฅผ answer์ ๋ด์ผ๋ฉด ๋๋ ๋ฌธ์
while n != 0:
n = n & (n - 1)
answer += 1
return answer
Reference
Leave a comment