[기본수학1] 큰 수 A+B
2021. 2. 26. 00:41ㆍ백준
파이썬에서는 그냥 a+b를 바로 출력해도 정답처리가 되더라;;
어쨌든 의도는 그게 아닌 것 같아서 구현했다.
그냥 A+B 했을 때 72ms 정도 소요됐는데 직접 구현한 건 92ms라... 비슷하게 걸린 것 같은데 최적화하면?
제출 코드
a_input, b_input = list(map(str, input().split(" ")))
a = list(a_input)
b = list(b_input)
len_max = max([len(a), len(b)])
len_min = min([len(a), len(b)])
len_diff = len_max - len_min
if len_max == len(b):
for i in range(0, len_diff):
a.insert(0, "0")
else:
for i in range(0, len_diff):
b.insert(0, "0")
a = "".join(a)
b = "".join(b)
sum_list = []
upper = False
for i in range(len_max - 1, -1, -1):
a_b_sum = int(a[i]) + int(b[i])
if upper:
a_b_sum = a_b_sum + 1
if a_b_sum >= 10:
upper = True
a_b_sum = a_b_sum % 10
else:
upper = False
sum_list.insert(0, str(a_b_sum))
if upper:
sum_list.insert(0, str(1))
print("".join(sum_list))