반응형
https://www.acmicpc.net/problem/1252
1252번: 이진수 덧셈
첫째 줄에 두 개의 이진수가 빈 칸을 사이에 두고 주어진다. 각 이진수는 1 또는 0으로만 이루어져 있으며, 0으로 시작할 수도 있다. 또한 각 이진수의 길이는 80을 넘지 않는다.
www.acmicpc.net
내 코드
import sys
input = sys.stdin.readline
a,b = input().split()
a= int(a,2)
b= int(b,2)
print(bin(a + b)[2:])
이진수 덧셈
정말 단순한 문제이지만, 파이썬에서의 이진수 사용에 대해 더 자세히 알 수 있는 문제였다.
해당 문제를 해결하는 과정은 다음과 같다.
2진수 입력받음 → 10진수로 바꾸고 연산 → 다시 2진수로 변환하여 출력
a= int(a,2) 는 이진수인 a를 10진수로 바꾼다는 의미이다.
그리고 bin(a+b)를 하여 10진수끼리 더한 값을 2진수로 바꿔준다.
마지막으로 이진수를 출력하면 0b라는 문자가 뜨는데, 이는 이진수를 의미하는 문자이다. 그래서 [2:]를 해줌으로써 연산 결과값만 출력될 수 있도록 한다.
반응형
'코딩테스트 대비 > 백준(BOJ)' 카테고리의 다른 글
| [Python][백준/BOJ] 11050번 : 이항 계수 1 (0) | 2023.07.25 |
|---|---|
| [Python][백준/BOJ] 1977번 : 완전제곱수 (0) | 2023.07.25 |
| [Python][백준/BOJ] 22233번 : 가희와 키워드 (0) | 2023.07.25 |
| [Python][백준/BOJ] 14888번 : 연산자 끼워넣기 (0) | 2023.07.24 |
| [Python][백준/BOJ] 16953번 : A → B (0) | 2023.07.24 |