7 세그먼트 디스플레이 덧셈

시간 제한1초메모리 제한128 MB

요약
주어진 숫자별 세븐세그먼트 코드를 이용해 두 코드 문자열을 정수로 복원한 뒤 더하고, 결과를 다시 코드 문자열로 출력한다.
난이도

쉬움10점 중 3점

유형
문자열, 구현, 해시맵, 수학
정답자
아직 제출이 없습니다

문제

7 세그먼트 디스플레이는 일곱 개의 LED로 이루어져 있다. 각 LED는 서로 독립적으로 켜지거나 꺼질 수 있으므로, 모두 꺼진 경우를 제외하면 LED를 켜고 끄는 조합은 모두 127가지이며 주로 숫자 0부터 9까지를 표시하는 데 쓰인다.

디스플레이는 7비트 이진수 하나를 받아서 어떤 LED를 켤지 정한다. 이 7비트 값을 10진수로 나타낸 것을 코드라고 부른다. 예를 들어 숫자 1을 나타내는 LED 조합의 이진값이 0001010이라면, 이를 10진수로 바꾼 값 10이 곧 숫자 1의 코드이다. 코드가 가질 수 있는 값은 최대 127이므로 모든 코드는 세 자리 10진수(부족한 자리는 0으로 채움)로 적을 수 있고, 따라서 숫자 1의 코드는 010이다.

숫자 0부터 9까지의 코드는 다음과 같다.

숫자코드
0063
1010
2093
3079
4106
5103
6119
7011
8127
9107

두 자리 이상인 수는 각 자리 숫자의 코드를 높은 자리부터 순서대로 이어 붙여서 나타낸다. 예를 들어 13은 010079, 144는 010106106으로 표현한다.

두 수를 7 세그먼트 코드로 나타낸 값 A와 B가 주어질 때, 두 수의 합을 다시 7 세그먼트 코드로 나타내어 출력하는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 A+B= 형태의 한 줄이며, A와 B는 각각 양의 정수 a와 b를 7 세그먼트 코드로 나타낸 문자열이다. 두 수는 0<a, b<a+b<1090 < a,\ b < a + b < 10^{9}을 만족한다. 입력의 마지막 줄에는 BYE가 주어진다.

출력

각 테스트 케이스마다 한 줄에 A+B=C를 출력한다. A와 B는 입력에 주어진 문자열을 그대로 사용하고, C는 a + b를 다시 7 세그먼트 코드로 나타낸 값이다.

예제2

  1. 예제 1

    입력
    010079010+010079=
    106010+010=
    BYE
    
    예상 출력
    010079010+010079=010106106
    106010+010=106093
    
  2. 예제 2

    입력
    010+010=
    BYE
    
    예상 출력
    010+010=093