
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
arr1 | arr2 | return |
|---|---|---|
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
class Solution {
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr1[0].length];
for (int i = 0; i < arr1.length; i++) {
for ( int j = 0; j < arr1[i].length; j++) {
answer[i][j] = arr1[i][j]+arr2[i][j];
}
}
return answer;
}
}
public int[][] solution(int[][] arr1, int[][] arr2) {
int[][] answer = new int[arr1.length][arr1[0].length];
두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과를 담을 answer 2차원 배열을 선언 및 생성한다. 이 때 answer의 행과 열은 arr1의 행과 열과 같으므로 arr1.length와 arr[0].length로 행과 열을 잡아준다. arr1과 arr2의 행, 열의 개수는 동일하므로 arr2.length로 해도 상관 없다.
for (int i = 0; i < arr1.length; i++) {
for ( int j = 0; j < arr1[i].length; j++) {
answer[i][j] = arr1[i][j]+arr2[i][j];
}
}
첫 번째 for문은 열을, 두 번째 for문은 행을 의미한다.
arr1과 arr2의 각각 같은 행과 열의 값을 더하여 answer의 동일한 행, 열에 저장한다.
return answer;
그 값을 리턴한다.
