728x90
문제
두 개의 이진수를 입력받아 이를 더하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/1252
입력
첫째 줄에 두 개의 이진수가 빈 칸을 사이에 두고 주어진다.
각 이진수는 1 또는 0으로만 이루어져 있으며, 0으로 시작할 수도 있다.
또한 각 이진수의 길이는 80을 넘지 않는다.
출력
첫째 줄에 이진수 덧셈 결과를 출력한다.
결과가 0인 경우를 제외하고는 출력되는 이진수는 항상 1로 시작해야 한다.
예제
__input__
1001101 10010
__output__
1011111
문제 풀이
#1
A,B = input().split()
C = int(A, 2) + int(B, 2) # 문자열로 입력받은 A,B를 2진수 int형으로 변환 및 연산
print(format(C,'b')) # int형을 2진수 문자열로 변환
#2
A,B = input().split()
C = int(A, 2) + int(B, 2)
print(bin(C)[2:]) # int형을 2진수 문자열로 변환, bin 함수의 경우 0b가 추가되어 슬라이싱
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90