상상쓰

[백준] 큰 수 A+B 본문

Coding Test

[백준] 큰 수 A+B

상상쓰 2021. 9. 8. 00:27

https://www.acmicpc.net/problem/10757

 

10757번: 큰 수 A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

주어진 A, B 를 문자열로 받아 일의 자리부터(A[::-1]) 차례대로 덧셈하여 답을 구하게 하였다. 길이가 차이가 나는 경우, 빈 문자에는 '0' 이 들어가야 각 자리에서 계산이 되므로 ljust 함수를 사용하여 빈 문자에 '0' 을 채워 넣었다. 

 

import sys

A, B = sys.stdin.readline().split()
M = max(len(A), len(B))
A, B = A[::-1].ljust(M, '0'), B[::-1].ljust(M, '0')
result= []
d = 0

for i in range(M):
    d, r = divmod(int(A[i]) + int(B[i]) + d, 10)
    result.append(r)
    
if d != 0: result.append(d)

answer = ''.join(list(map(str, result[::-1])))

print(answer)
Comments