int[][] answer = new int [arr1.length][arr1[0].lenght];
for
문으로 배열의 행의 길이만큼, 열의 길이만큼 반복해 값을 더하자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;
}
}
arr1 = [[1,2],[2,3]]은
1 2
2 3
의 구조로 2행 2열
arr2 = [[1],[2]]는
1
2
의 구조로 2행 1열
arr3 = [[1,2]]는
1 2
의 구조로 1행 2열
arr[n].length
는 (n+1)행의 열 길이(행마다 담긴 원소 개수)를 뜻한다.
String arr[][] = new String[3][];
String arr[][] = {
{"A", "B", "C"},
{"D", "E"},
{"F", "G", "H", "I"}
};
// 각 행마다 열의길이 구하기(arr[i] 길이)
arr[0].lengrth // 1행의 열 길이 - 3
arr[1].lengrth // 2행의 열 길이 - 2
arr[2].lengrth // 3행의 열 길이 - 4
arr[3].lengrth // null
int[][] answer = new int [arr1.length][arr1[0].length];
2차원 배열 answer를 선언하면서 열의 길이를 arr1[0].length
로 정한 이유는 어떤 테스트 케이스이든 1행 이상의 행을 가지기 때문이다.
만약, arr[1].length
로 열의 길이를 정했다면 아래와 같은 경우 오류가 생길 것이다.
// 1행 4열의 2차원 배열
String exam[][] = new String[1][4];
String exam[][] = {
{"A", "B", "C", "D"}
};
// 열의길이 구하기(arr[i] 길이)
arr[0].lengrth // 1행의 열 길이 - 4
arr[1].lengrth // null