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();
}
}
'알고리즘 > LeetCode' 카테고리의 다른 글
[LeetCode] 46. Permutations - 깊이우선탐색(DFS) + 비트마스킹(BitMask) JAVA (0) | 2024.11.13 |
---|---|
[LeetCode] 38. Count and Say - 깊이우선탐색(DFS) JAVA (0) | 2024.11.13 |
[LeetCode] 36. Valid Sudoku - 구현(Implementation) JAVA (0) | 2024.11.10 |
[LeetCode] 18. 4Sum - 투포인터(Two Pointer) JAVA (0) | 2024.11.10 |
[LeetCode] 34. Find First and Last Position of Element in Sorted Array - 이진탐색(Binary Search) JAVA (0) | 2024.11.06 |