[Python] 알고리즘/Silver
[4900] 7 더하기 (Python)
-Becca-
2021. 12. 1. 22:10
[문제]
https://www.acmicpc.net/problem/4900
4900번: 7 더하기
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 A+B=꼴이며, A와 B는 두 수 a와 b를 7 세그먼트 디스플레이 상에서의 코드로 표현한 값이다. (0 < a,b < a+b < 1,000,000,000) 마지막
www.acmicpc.net
알고리즘 분류는 구현, 문자열 입니다.
아래의 힌트를 참고하여 코드를 구하고, 3자리씩 끊어서 숫자를 알아내면 되는 문제입니다.
[코드]
import sys
code = {
"063": 0,
"010": 1,
"093": 2,
"079": 3,
"106": 4,
"103": 5,
"119": 6,
"011": 7,
"127": 8,
"107": 9,
}
code_rev = {v: k for k, v in code.items()}
def num(m):
n = ""
for i in range(0, len(m), 3):
n += str(code[m[i : i + 3]])
return int(n)
while True:
N = sys.stdin.readline().rstrip()
if N == "BYE":
break
sp = N.split("+")
A = sp[0]
B = sp[1][: len(sp[1]) - 1]
A_num = num(A)
B_num = num(B)
C_num = str(A_num + B_num)
C = ""
for i in C_num:
C += code_rev[int(i)]
print(N + C)