본문 바로가기

Algorithm/Implementation

(Python3) - 프로그래머스(코딩테스트 입문) : 이진수 더하기

반응형

https://school.programmers.co.kr/learn/courses/30/lessons/120885#

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

이진수와 십진수 변환 구현 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

문자열 bin을 입력받아 십진수로 변환된 값을 반환하는 to_decimal()과 십진수 decimal을 인자로 받아 이진수로 변환된 문자열을 반환하는 to_bin()을 구현해줍니다.

📔 정답 출력 | 반환

십진수로 변환된 두 숫자 to_decimal(bin1), to_decimal(bin2)을 더한 값을 이진수로 변환해 반환합니다.


📕 Code

📔 Python3

def to_decimal(bin):
    decimal = 0
    for num_char in bin:
        num = int(num_char)
        decimal = decimal * 2 + num
    return decimal 

def to_bin(decimal):
    bin = ""
    while decimal > 0:
        bin += str(decimal % 2)
        decimal = decimal // 2
    if not bin:
        return "0"
    return bin[::-1]

def solution(bin1, bin2):
    return to_bin(to_decimal(bin1) + to_decimal(bin2))

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.