https://leetcode.com/problems/multiply-strings/description/

코드설명

구현(Implementation) + 문자열(String) + 아이디어(Idea) 를 활용합니다.

 

아래의 코드에서 유의해야할점은,

1. upper 처리를 따로 하지않고, 아래와 같이 편리하게 처리가 가능합니다.

int sum = mul + answer[p2];

코드

정답코드1입니다.

class Solution {
    public String multiply(String num1, String num2) {
        int n1 = num1.length(); int n2 = num2.length();
        int[] answer = new int[n1 + n2];
        System.out.print(" "+ (n1 + n2));
        for(int i=num2.length() - 1; i >= 0; i--){
            for(int j=num1.length() - 1; j >= 0; j--){
                int mul = ( num1.charAt(j) - '0' ) * ( num2.charAt(i) - '0' );
                int p1 = i + j;
                int p2 = i + j + 1;

                int sum = mul + answer[p2];
                answer[p2] = sum % 10;
                answer[p1] += sum / 10;
            }
        }
        StringBuilder sb = new StringBuilder();
        for(int v : answer){
            if( !(sb.length() == 0 && v == 0) ) sb.append(v);
        }

        return sb.length() == 0 ? "0" : sb.toString();
    }
}

 

 

+ Recent posts