function solution(arr1, arr2) {
let result = [];
for (let i=0; i<arr1.length; i++) {
let sum = [];
for (let j=0; j<arr1[i].length; j++) {
sum.push(arr1[i][j] + arr2[i][j])
}
result.push(sum)
}
return result;
}
반복문을 2번 사용해서 배열안에 있는 값을 찾아서 더해주었다.
더 간단하게 사용하고 싶어서 여러가지 고민을 해봤는데 아직은 반복문이 좋은거같다.
function sumMatrix(A,B){
return A.map((arr1, idx1) => arr1.map((val, idx2) => val+B[idx1][idx2]));
}
A.map : 배열 A의 각 행에 대해 함수를 적용
arr1 : 배열 A의 각 행
arr1.map : 현재 행의 각 요소에 대해 함수를 적용
val : 현재 요소의 값
idx2 : 현재 요소의 인덱스
val + B[idx1][idx2] : 배열 B에서 같은 위치의 요소를 가져와 현재 요소의 값과 더하기
A.map과 arr1.map을 통해 새로운 2차원 배열이 생성
arr1.map((v, i) => v.map((v2, j) => v2 + arr2[i][j]))
해당 풀이의 댓글에 누가 적어둔 내용인데 반복문이 익숙한 사람이라면 조금 더 이해하기 쉬울 꺼 같다.