반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
두 이진수를 입력받아 덧셈한 결과를 출력하는 문제입니다.
num = 0
digit = 0
# 이진수 => 십진수 변환
for i in N[::-1]:
num += int(i)*(2**digit)
digit += 1
res = ''
# 십진수 => 이진수 변환
while num != 0:
res = str(num%2) + res
num //= 2
print(res)
십진수 <=> 2진수 변환 규칙대로 코드를 구현하면 위와 같습니다. 하지만, 파이썬에서는 진수 변환을 보조해주는 함수가 별도로 존재합니다.
int(n, base=m): n을 m진수로 변환
bin(n): 2진수를 10진수로 변환
3. 코드
n1, n2 = input().split()
res = int(n1, 2) + int(n2, 2)
print(bin(res)[2:])
int()와 bin()함수를 이용하면 간단하게 구현할 수 있습니다.
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 1402 아무래도이문제는A번난이도인것같다 - 파이썬(Python) (0) | 2022.04.23 |
---|---|
[구현/수학] 백준 11816 8진수, 10진수, 16진수 - 파이썬(Python) (0) | 2022.04.22 |
[구현/수학] 백준 10829 이진수 변환 - 파이썬(Python) (0) | 2022.04.20 |
[동적계획법/DP] 백준 1699 제곱수의 합 - 파이썬(Python) (0) | 2022.04.19 |
[정렬/탐색] 백준 3273 두 수의 합 - 파이썬(Python) (0) | 2022.04.18 |
댓글