[LeetCode] Add Strings

아르당·어제

LeetCode

목록 보기
89/94
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

두 개의 음수가 아닌 정수 num1과 num2가 문자열로 주어졌을 때, num1과 num2의 합을 문자열로 반환해라.

Example

#1
Input: num1 = "11", num2 = "123"
Output: "134"

#2
Input: num1 = "456", num2 = "77"
Output: "533"

#3
Input: num1 = "0", num2 = "0"
Output: "0"

Constraints

  • 1 <= num1.length, num2.length <= 10^4
  • num1과 num2는 숫자로만구성 되어있다.
  • num1과 num2sms 0 자체를 제외하고 앞에 0이 없다.

Solved

class Solution {
    public String addStrings(String num1, String num2) {
        int i = num1.length() - 1;
        int j = num2.length() - 1;
        int carry = 0;
        StringBuilder result = new StringBuilder();

        while(i >= 0 || j >= 0 || carry != 0){
            int digit1 = i >= 0 ? num1.charAt(i) - '0' : 0;
            int digit2 = j >= 0 ? num2.charAt(j) - '0' : 0;
            int total = digit1 + digit2 + carry;
            carry = total / 10;

            result.append(total % 10);

            i--;
            j--;
        }

        return result.reverse().toString();
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글