Skip to content

Commit cd70330

Browse files
committed
feat: Add reverse-bits solutions
1 parent 03ef4b9 commit cd70330

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

โ€Žreverse-bits/thispath98.pyโ€Ž

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
class Solution:
2+
def reverseBits(self, n: int) -> int:
3+
"""
4+
Intuition:
5+
๋น„ํŠธ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ์ˆœํšŒํ•œ๋‹ค.
6+
answer์—๋Š” ์ตœ๋Œ€๊ฐ’(2^31)๋ถ€ํ„ฐ ์ตœ์†Œ๊ฐ’(2^0)์œผ๋กœ ๊ฐ์†Œํ•˜๋Š”
7+
๋ฐฉ์‹์œผ๋กœ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.
8+
9+
Time Complexity:
10+
O(N):
11+
n์„ 1๋ฒˆ ์ˆœํšŒํ•˜๋ฉฐ ๋‹ต์„ ์ฐพ์œผ๋ฏ€๋กœ,
12+
O(N)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ์†Œ์š”๋œ๋‹ค.
13+
14+
Space Complexity:
15+
O(1):
16+
answer์— ๊ฐ’์„ ์—…๋ฐ์ดํŠธ ํ•˜๋ฏ€๋กœ, ์ƒ์ˆ˜์˜
17+
๊ณต๊ฐ„๋ณต์žก๋„๊ฐ€ ์†Œ์š”๋œ๋‹ค.
18+
19+
Key takeaway:
20+
์ˆซ์ž๋ฅผ binary string์œผ๋กœ ๋งŒ๋“œ๋Š” bin() ๋ฉ”์†Œ๋“œ๋ฅผ
21+
์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.
22+
"""
23+
answer = 0
24+
for i, bit in enumerate(bin(n)[2:][::-1]):
25+
answer += int(bit) * 2 ** (31 - i)
26+
return answer

0 commit comments

Comments
ย (0)