leetcode#67 Add Binary

정은경·2022년 5월 30일
0

알고리즘

목록 보기
63/125

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
        
        # print(result)
        return result
    
    def convertDecimalIntoBinary(self, decimal):
        if decimal < 1:
            return "0"
        
        current_number = decimal
        q = decimal
        result = []
        
        while q >= 1:
            # print(q, result)
            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. 남의 풀이

profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글