1. 문제
2. 나의 풀이
2-1. 이진수=>십진수로 변경하여 계산하고 다시 이진수로!
class Solution(object):
def convertBinaryIntoDecimal(self, binaryString):
result = 0
maxCount = len(binaryString) - 1
for i in range(len(binaryString)):
last_digit = binaryString[maxCount - i]
if last_digit == "1":
result += 2 ** i
return result
def convertDecimalIntoBinary(self, decimal):
if decimal < 1:
return "0"
current_number = decimal
q = decimal
result = []
while q >= 1:
current_q = q // 2
current_r = q % 2
q = current_q
result.insert(0, current_r)
return "".join([str(x) for x in result])
def addBinary(self, a, b):
"""
:type a: str
:type b: str
:rtype: str
"""
return self.convertDecimalIntoBinary(self.convertBinaryIntoDecimal(a) + self.convertBinaryIntoDecimal(b))
3. 남의 풀이