행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
첫번째 for문까지는 풀었는데 두번째 for문에서 j를 arr2.length로 적고 입출력 값이 나오지 않아 도중에 해설을 보았다..
이 부분을 먼저 짚고 넘어가야 코드를 이해할수 있다!
arr1 = [[1,2],[2,3]] // 여기서 i는 배열의 1,2의 배열인 [1,2]를 가르킨다.
[i] [i] // 즉, arr1[i].length 는 2이다.
arr1 = [1 , 2], [2 , 3] // 여기서 j는 i배열의 인덱스를 가르킨다.
[j] [j] [j] [j]
function solution(arr1, arr2) {
var answer = [[]];
for(let i = 0; i < arr1.length; i++){
answer[i] = [];
// answer에 빈 배열을 추가한다. 즉, [[], []] 첫번째 for문으로 행 추가
for(let j = 0; j < arr1[i].length; j++){
// arr[i].length는 위에 설명처럼 길이는 2이다.
answer[i].push(arr1[i][j]+ arr2[i][j])
//answer[i][j] = arr1[i][j]+ arr2[i][j];
//answer[0][0] = arr1[0][0] + arr2[0][0]; // answer[0][0] = 1 + 3 = 4
//answer[0][1] = arr1[0][1] + arr2[0][1]; // answer[0][1] = 2 + 4 = 6
//answer[1][0] = arr1[1][0] + arr2[1][0]; // answer[1][0] = 2 + 5 = 7
//answer[1][1] = arr1[1][1] + arr2[1][1]; // answer[1][1] = 3 + 6 = 9
}
}
return answer;
//output
// 0: [4, 6]
// 1: [7, 9]
}