행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
arr1 | arr2 | return |
---|---|---|
[[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
function solution(arr1, arr2) {
var answer = [];
for(let i=0; i<arr1.length; i++){
let arr = []
for(let j=0; j<arr1[i].length; j++){
arr.push(arr1[i][j]+arr2[i][j])
}
answer.push(arr)
}
return answer;
}
리턴 값도 배열 안의 배열 형태로 나와야 한다는게 관건이었다.
새로운 빈 배열 arr를 만들고 그 배열을 answer배열 안에 넣는 식으로 정답을 구했다.
function sumMatrix(A,B){
return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
map의 활용법은 무궁무진한 것 같다....
간단한 문제도 자주, 다른 방법으로 풀어보려 노력해야겠다.