String - Add String

JeongChaeJin·2022년 11월 11일
0

Add String

  • addString(num1, num2)와 같은 문제다.
  • 특이한 점은 num1, num2가 string type이라는 것이다.
  • num1, num2가 type이 int이거나 float이면 풀기 쉽지만, 32/64bit를 넘어서는 수를 준다면, 풀기어려울 수 있고 출제자의 의도가 int, float으로 변환해서 더하라는 것이 아니다.

Algorithm

  • 일반 초등학생 때 배웠던 산수를 수행하면 된다.
3 8 5 0
  2 7 3
  • 뒷 자리 수부터 차근차근 변환하여 더해나가고, 올림은 carry 변수에 담는다.
  • 0 + 3 = 3 => 3 / 10 = 0 (carry), 3 % 10 = 3
  • vector에 3 % 10 값을 담는다.
  • carry(0) + 5 + 7 = 12 => 12 / 10 = 1(carry), 12 % 10 = 2
  • vector에 2를 담는다.
  • carry(1) + 8 + 2 = 11 => 11/ 10 = 1 (carry), 11 % 10 = 1
  • vector에 1을 담는다.
  • 위와 같은 방식을 통해 덧셈을 진행하고, vector를 reverse해준다.
    • vector에 유용한 TimeComplexity로 담으려면 push_back이기 때문에 거꾸로 담겨있어서 reverse를 해주는 것이다.
profile
OnePunchLotto

0개의 댓글