행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
function solution(arr1, arr2) {
var answer = [];
for(i=0; i < arr1.length; i++){
var sum = []
for(j=0; j < arr1[i].length; j++){
sum.push(arr1[i][j] + arr2[i][j])
}
answer.push(sum)
}
return answer;
}
기본적인 이차원 배열의 덧셈
항상 실수하는 점은 배열의 Length와 element 0의 시작.
function sumMatrix(A,B){
return A.map((arr1, idx1) => arr1.map((val, idx2) => val+B[idx1][idx2]));
}
map내의 map을 이용해서, 해결 할 수도 있다.
function solution(arr1, arr2) {
var answer = [[]];
for (var i=0; i<arr1.length; i++){
answer[i] =[];
for(var j=0; j<arr1[i].length; j++){
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
또한, answer[i] 자체를 빈 배열로 선언해 , 굳이 배열 객체 하나를 더 생성하지 않고도, 문제를 해결할 수 있다.