Skip to content

Commit 96020a9

Browse files
committed
feat: week3 - number of 1 bits
1 parent f897aec commit 96020a9

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
'''
2+
Approach
3+
- ์‹ญ์ง„๋ฒ•์„ ์ด์ง„๋ฒ•์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋ˆ„์ ํ•ฉ์„ ์‚ฌ์šฉํ•จ
4+
5+
Time Complexity: O(log n)
6+
- while ๋ฌธ์—์„œ ์ˆซ์ž(num)์„ ๊ณ„์†ํ•ด์„œ 2๋กœ ๋‚˜๋ˆ„๋Š”๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„
7+
8+
Space Complexity: O(1)
9+
- ์ƒ์ˆ˜ bits์™€ nums๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„
10+
'''
11+
class Solution:
12+
def hammingWeight(self, n: int) -> int:
13+
bits = 0
14+
# ์ฃผ์–ด์ง„ ์ˆซ์ž๋ฅผ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€ ๊ฐ’์ด 1์ธ ๊ฒฝ์šฐ bits์— ๋ˆ„์ ํ•จ
15+
num = n
16+
while num != 0 :
17+
if num % 2 == 1 :
18+
bits += 1
19+
num //= 2
20+
return bits

0 commit comments

Comments
ย (0)