코딩테스트/Programmers

[프로그래머스] 두 수의 합

grove1212 2025. 1. 23. 16:04

- 답을 찾지 못했다. 내 답은 10초가 넘어가는 긴 풀이로 실행 오류가 났다.

 

- GPT의 답

Math의 BigInteger를 이용했다.

import java.math.BigInteger;

class Solution {
    public String solution(String a, String b) {
        String answer = "";
        BigInteger numA = new BigInteger(a);
        BigInteger numB = new BigInteger(b);
        BigInteger sum = numA.add(numB);
        
        
        return sum.toString();
    }
}

 

- 참고할만한 답

class Solution {
    public String solution(String a, String b) {
        StringBuilder sb = new StringBuilder();
        int carry = 0;
        int i = a.length() - 1, j = b.length() - 1;

        while (i >= 0 || j >= 0 || carry > 0) {
            int sum = carry;

            if (i >= 0) sum += a.charAt(i--) - '0';
            if (j >= 0) sum += b.charAt(j--) - '0';
            sb.append(sum % 10);
            carry = sum / 10;
        }
        return sb.reverse().toString();
    }
}

 

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/181846#