문제
감정이입에 대해서 알고 있는가? 감정이입이란 자신의 감정을 특정 대상에 이입시키거나 특정 대상의 감정을 자신에게 이입시켜서 서로 공감하는 것이다. 이렇게 자신이 다른 대상이 됐다고 생각을 하면 그전에는 느끼지 못했던 감정을 느낄 수 있어 풍부한 사고를 할 수 있다. 감정이입에 몰입하게 되면 어떠한 단계에 이르게 된다. 이 단계에서는 자신이 감정이입을 하는 대상이 되어 사고를 할 수 있게 된다.
예로부터 많은 천재들이 이 단계에 다다라 많은 업적을 세웠다. 알베르트 아인슈타인은 빛이 되어 상대성 이론을 발견했고, 찰리 채플린은 자신이 연기하는 대상 그 자체가 되어 많은 사람들이 기억하는 희극배우가 됐다.
컴퓨터 공학에서도 이런 단계에 다다를 수 있을까? CPU가 되어서 주변 입/출력 장치를 제어하거나, 뉴럴 네트워크에 존재하는 수많은 뉴런들 중 한 뉴런이 되어 계산에 관여하는 상상을 할 수 있을까?
천 리 길도 한 걸음부터. 컴퓨터에서는 없어서 안될 ALU(Arithmetic Logic Unit)가 되는 상상을 해보자. ALU는 두 이진수의 산술 연산 혹은 논리 연산을 계산하는 회로다. 두 이진수가 주어졌을 때 덧셈은 가산기를, 뺄셈은 보수기와 가산기를 이용해 이루어진다. 그렇다면 두 이진수의 곱셈은 어떻게 이루어 질까? ALU가 되어 이 문제를 해결해보자.
입력
첫 번째 줄에 이진수 B1이 주어진다. 두 번째 줄에 이진수 B2가 주어진다. 입력으로 주어지는 두 이진수의 길이는 1 이상 30 이하의 자연수이다. 또한 두 이진수들이 1로 시작하는 것이 보장된다.
출력
첫 번째 줄에 입력으로 주어진 두 이진수 B1, B2의 곱을 이진수로 출력한다. 출력하는 이진수 앞에 불필요한 0이 붙으면 안 됨에 주의해야 한다. 즉 출력하는 이진수의 시작은 항상 1이어야 한다.
문제풀이
a = int(input(),2)
b = int(input(),2)
print(format(a*b,'b'))
- a와 b를 2진수 형태로 입력받아 10진수 형태로 저장
- 10진수의 곱을 한 후 2진수 형태로 format하여 출력한다.
'프로그래밍 > 백준' 카테고리의 다른 글
[백준알고리즘] 백준 12840 파이썬 - 창용이의 시계 (0) | 2022.10.08 |
---|---|
[백준알고리즘] 백준 브론즈 4 - 풀이 모음 (0) | 2022.10.07 |
[백준알고리즘] 백준 2530번 파이썬 (0) | 2022.10.05 |
[백준알고리즘] 백준 브론즈5 - 파이썬 문제 풀이 모음 (0) | 2022.10.04 |
[알고리즘] 백준 10809번 파이썬(python) - 풀이 (1) | 2022.10.03 |