행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
function solution(arr1, arr2) {
var answer = [[]];
return answer;
}
function solution(arr1, arr2) {
//행렬 arr1와 arr2가 주어진다.
let answer = [];
//answer 이라는 배열을 선언한다.
for(let i=0; i<arr1.length; i++){
//arr1 의 마지막까지 반복한다
let sum = [];
//sum이라는 배열을 선언한다.
for(let j=0; j<arr1[i].length; j++){
//
sum.push(arr1[i][j] + arr2[i][j])
// .push 로 sum 배열의 끝에 값을 하나씩 더해준다.
}
answer.push(sum)
// answer 배열에 sum의 값을 모두 넣어준다.
}
return answer;
// answer값을 리턴해주며 마무리.
}
예를 들어 arr1[[a1, a2], [a3, a4]], arr2[[b1, b2],[b3, b4]] 로 주어졌다고 했을 때,
answer은 [[a1+b1, a2+b2], [a3+b3, a4+b4]]가 되어야 한다.
이중 for문을 사용, i인덱스 j번째 요소를 나타낼 수 있도록 만들어 준다.
첫 for문에서 빈 배열을 만들어 두번째 배열로 push하고, 그 배열은 다시 answer배열에 push되어 정답이 반환되게 된다.
function sumMatrix(A,B){
return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
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;
}
문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12950