본문 바로가기
  • Jetpack 알아보기
LeetCode/Easy

[Java] LeetCode 415 : Add Strings

by 새우버거♬ 2021. 5. 12.

LeetCode # 415


Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string.

 

Example 1:

 

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

 

Constraints:

  • 1 <= num1.length, num2.length <= 10⁴
  • num1 and num2 consist of only digits.
  • num1 and num2 don't have any leading zeros except for the zero itself.

Solution #1 (2ms)

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

        int sum = 0;
        StringBuilder builder = new StringBuilder();

        while (i >= 0 || j >= 0 || sum > 0) {
            if (i >= 0) {
                sum += (num1.charAt(i) - '0');
                i--;
            }
            if (j >= 0) {
                sum += (num2.charAt(j) - '0');
                j--;
            }

            builder.append(sum % 10);
            sum = sum > 9 ? sum / 10 : 0;
        }

        return builder.reverse().toString();
    }
}

 

Result #1

💡 String 각각의 알맞는 인덱스 값을 더하고, 더한 값이 10을 넘을 때 예외처리한다.

String을 Int로 변환해서 풀 경우, Int 범위를 벗어날 경우 Wrong Answer!!를 받게 된다. String 각각 인덱스 값을 더해서 이를 StringBuilder에 append()해주는 방법으로 풀어야 한다.

 


 

More Algorithm!

 

👇👇

 

github.com/ggujangi/ggu.leet-code

 

ggujangi/ggu.leet-code

LeetCode, Java. Contribute to ggujangi/ggu.leet-code development by creating an account on GitHub.

github.com

 

 

 

 

출처 : leetCode