Skip to content

Commit 176ddb4

Browse files
committed
feat: Solve number-of-1-bits problem
1 parent 78f0cd6 commit 176ddb4

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

โ€Žnumber-of-1-bits/hu6r1s.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution:
2+
"""
3+
1. n์ด 11์ผ๋•Œ, ์ด์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด๋ณด๋ฉด 1011์ด๋‹ค. set bits๋Š” 1์˜ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์ด๊ธฐ์— 1์„ ์นด์šดํŠธํ•ด์ค€๋‹ค.
4+
์‹œ๊ฐ„ ๋ณต์žก๋„ (Time Complexity):
5+
- bin(n): ์ •์ˆ˜๋ฅผ ์ด์ง„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ โ†’ O(log n)
6+
(n์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ๋น„ํŠธ ์ˆ˜๋งŒํผ ์—ฐ์‚ฐํ•จ)
7+
- count('1'): ๋ฌธ์ž์—ด์—์„œ '1'์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ๊ธฐ ์œ„ํ•ด ์ „์ฒด ์ˆœํšŒ โ†’ O(log n)
8+
(์ด์ง„ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” logโ‚‚(n)์— ๋น„๋ก€)
9+
์ตœ์ข… ์‹œ๊ฐ„ ๋ณต์žก๋„: O(log n)
10+
11+
๊ณต๊ฐ„ ๋ณต์žก๋„ (Space Complexity):
12+
- bin(n)์˜ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ ์ด์ง„ ๋ฌธ์ž์—ด์„ ์ €์žฅ โ†’ O(log n)
13+
- ๊ทธ ์™ธ ๋ณ„๋„์˜ ์ถ”๊ฐ€ ๊ณต๊ฐ„ ์—†์Œ
14+
์ตœ์ข… ๊ณต๊ฐ„ ๋ณต์žก๋„: O(log n)
15+
"""
16+
def hammingWeight(self, n: int) -> int:
17+
return bin(n).count('1')

0 commit comments

Comments
ย (0)