행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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;
그 값을 리턴한다.