File tree Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Expand file tree Collapse file tree 1 file changed +28
-0
lines changed Original file line number Diff line number Diff line change 1+ '''
2+ ๋ฌธ์ : ์ ์ n์ด ์ฃผ์ด์ก์ ๋, n์ ์ด์ง ํํ์์ 1์ ๊ฐ์๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํ์ธ์.
3+ ํ์ด: 2์ ๊ฑฐ๋ญ์ ๊ณฑ ์๋ค์ ๋ฏธ๋ฆฌ ๊ณ์ฐํด๋๊ณ , n์์ ํฐ ์๋ถํฐ ๋นผ๊ฐ๋ฉฐ 1์ ๊ฐ์๋ฅผ ์ธ๋ ๋ฐฉ์์ผ๋ก ํ์ด
4+ ์๊ฐ๋ณต์ก๋: O(log n)
5+ 2์ ๊ฑฐ๋ญ์ ๊ณฑ ์๋ค์ ๋ฏธ๋ฆฌ ๊ณ์ฐํ๋๋ฐ O(log n)์ด ๊ฑธ๋ฆฌ๊ณ , n์์ ํฐ ์๋ถํฐ ๋นผ๊ฐ๋ฉฐ 1์ ๊ฐ์๋ฅผ ์ธ๋ ๋ฐ๋ O(log n)์ด ๊ฑธ๋ฆฌ๋ฏ๋ก ์ ์ฒด ์๊ฐ๋ณต์ก๋๋ O(log n)์ด๋ค.
6+ ๊ณต๊ฐ๋ณต์ก๋: O(log n)
7+ 2์ ๊ฑฐ๋ญ์ ๊ณฑ ์๋ค์ ์ ์ฅํ๋ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ ์ฒด ๊ณต๊ฐ๋ณต์ก๋๋ O(log n)์ด๋ค.
8+ ์ฌ์ฉํ ์๋ฃ๊ตฌ์กฐ: ๋ฆฌ์คํธ
9+ '''
10+
11+
12+ class Solution :
13+ def hammingWeight (self , n : int ) -> int :
14+ b = []
15+ now = 1
16+ answ = 0
17+ for i in range (35 ):
18+ b .append (now )
19+ now *= 2
20+
21+ num = n
22+ for i in range (34 , - 1 , - 1 ):
23+ if num >= b [i ]:
24+ num -= b [i ]
25+ answ += 1
26+ return answ
27+
28+
You canโt perform that action at this time.
0 commit comments