Skip to content

Commit 58d4dd3

Browse files
committed
Add solution for "234. Reverse Bits"
1 parent a3f13cf commit 58d4dd3

File tree

2 files changed

+26
-4
lines changed

2 files changed

+26
-4
lines changed

reverse-bits/KwonNayeon.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
"""
2+
Constraints:
3+
- The input must be a binary string of length 32
4+
5+
Time Complexity: O(1)
6+
- 항상 고정된 32비트 문자열에 대해 연산하므로 상수 시간
7+
8+
Space Complexity: O(1)
9+
- 32비트 고정 크기의 문자열 연산만 사용하므로 상수 공간
10+
11+
풀이 방법:
12+
1. format(n, '032b')를 사용해 입력받은 정수를 32비트 이진수 문자열로 변환함
13+
2. 문자열 슬라이싱 [::-1]으로 비트를 뒤집음
14+
3. int(reversed_binary, 2)로 뒤집은 이진수 문자열을 다시 정수로 변환함
15+
"""
16+
17+
class Solution:
18+
def reverseBits(self, n: int) -> int:
19+
20+
binary = format(n, '032b')
21+
22+
reversed_binary = binary[::-1]
23+
24+
return int(reversed_binary, 2)

two-sum/KwonNayeon.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
- -10^9 <= target <= 10^9
66
- Only one valid answer exists.
77
8-
Time Complexity: O(n²)
8+
Time Complexity: O(n²)
99
- 중첩 반복문을 사용하기 때문
1010
- 첫 번째 반복문: n번
1111
- 각각에 대해 두 번째 반복문: n-1, n-2, ... 1번
1212
- 따라서 총 연산 횟수는 n * (n-1)/2로 O(n²)
1313
14-
Space Complexity: O(1)
14+
Space Complexity: O(1)
1515
- 추가 공간을 사용하지 않음
1616
- result 리스트는 항상 크기가 2로 고정
1717
"""
@@ -23,5 +23,3 @@ def twoSum(self, nums: List[int], target: int) -> List[int]:
2323
for j in range(i+1, len(nums)):
2424
if nums[j] == target - nums[i]:
2525
return [i, j]
26-
27-

0 commit comments

Comments
 (0)