Skip to content

Commit 60253b5

Browse files
committed
476
1 parent 588917f commit 60253b5

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
2+
'''
3+
1. 아이디어 :
4+
이진수 구하고 1을 0으로, 0을 1로 바꾼 후 다시 정수로 변환한다.
5+
6+
2. 시간복잡도 :
7+
o(n)
8+
9+
3. 자료구조/알고리즘 :
10+
'''
11+
12+
class Solution(object):
13+
def getBinary(self, n):
14+
s = ''
15+
while True:
16+
if n == 0:
17+
break
18+
tmp = n % 2
19+
n = n // 2
20+
s += str(tmp)
21+
22+
return s[::-1]
23+
24+
def getInt(self, b):
25+
num = 0
26+
b = b[::-1]
27+
n = len(b)
28+
# print(b)
29+
for i in range(n):
30+
if int(b[i]) %2 != 0:
31+
num +=2 ** i
32+
33+
return num
34+
35+
def findComplement(self, num):
36+
"""
37+
:type num: int
38+
:rtype: int
39+
"""
40+
# print(self.getBinary(num))
41+
b = self.getBinary(num)
42+
tmp = ''
43+
for i in b:
44+
tmp += '0' if i == '1' else '1'
45+
46+
return self.getInt(tmp)

0 commit comments

Comments
 (0)