728x90
<문제 링크>
https://leetcode.com/problems/reverse-bits/
<문제 풀이>
- n은 정수형으로 들어오기 때문에 binary로 바꿔줌.
- binary로 바꾸면 맨 앞에 0b가 붙으므로 제거해줌
- 2진수는 32bit의 길이를 유지해야하므로 zfill함수를 이용해 맨 앞에 0을 붙여줌
- 1을 가진 자리는 2의 지수만큼 곱해줌
<코드>
class Solution:
def reverseBits(self, n: int) -> int:
a = str(bin(n)).replace('0b','').zfill(32)
answer = 0
for idx, i in enumerate(a):
if i!='0':
answer += 2**idx
return answer
'두두의 알고리즘 > 문제' 카테고리의 다른 글
[동적계획법] 릿코드 Medium 198 'House Robber' (Python) (0) | 2022.01.27 |
---|---|
[동적계획법] 릿코드 Easy 70 'Climbing Stairs' (Python) (0) | 2022.01.25 |
[비트연산] 릿코드 Easy 191 'Number of 1 Bits' (Python) (0) | 2022.01.22 |
[동적계획법] 릿코드 Medium 120 'Triangle' (Python) (0) | 2022.01.21 |
[BFS] 릿코드 Medium 695 'Max Area of Island' (Python) (0) | 2022.01.18 |