행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
function solution(arr1, arr2) {
let answer = [];
// 행렬의 덧셈은 인덱스가 일치하는 배열의 요소들끼리 더해주면 된다.
for(let i = 0; i < arr1.length; ++i){
answer.push(Array()); // 빈 배열을 추가해 공간을 확보한다.
for(let k = 0; k < arr1[i].length; ++k){
// i번째 인덱스에 해당하는 요소에 2차 배열을 추가한다.
answer[i].push(arr1[i][k] + arr2[i][k]);
}
}
return answer;
}
행렬의 덧셈은 "두 행렬의 크기가 같아야지만 연산할 수 있다"는 조건으로 이미 테스트가 이루어져 있어서 빠르게 문제를 풀 수 있었다. 문제는 배열의 공간확보 및 요소 추가 부분이었는데, 처음에는 배열 데이터를 담을 임시 변수를 생성해서 담는 것을 생각했다가 비슷하지만 빈 배열을 생성해서 공간을 확보하고 2차배열로 데이터를 넣어주는 방법으로 작성했다.
다른사람의 풀이를 보고싶었는데 테스트 문제 개편으로 다른 좋은 방법을 작성 기준날짜로선 찾을 수 없었다. 조금 다르다고한다면 map을 이용해서 했다는 정도랄까..
참고 자료 및 사이트 (감사합니다)