문제가 쉬워서 심심풀이 겸 풀어봤는데
절대 땅콩 수준 문제가 아니다..! 초등수학을 직접 구현해야한다.
특히 아스키코드로 문자열의 간격을 파악해 수를 알아내는 아이디어는 꽤 유용하니 기억하자.
class Solution:
def addStrings(self, num1: str, num2: str) -> str:
res = []
carry = 0
p1 = len(num1) - 1
p2 = len(num2) - 1
while p1 >= 0 or p2 >= 0:
x1 = ord(num1[p1]) - ord('0') if p1 >= 0 else 0
x2 = ord(num2[p2]) - ord('0') if p2 >= 0 else 0
carry, rem = divmod(x1+x2+carry, 10)
res.append(rem)
p1 -= 1
p2 -= 1
if carry:
res.append(carry)
return "".join(map(str, res[::-1]))