🔻 행렬의 덧셈
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]
👀
2차원 배열 초기화하기!! 파이썬에서는 [[],[]]와 같이 선언이 되는데, 자바스크립트는 역시나 그렇지 않길래 기록해둔다..
function solution(arr1, arr2) {
const answer = new Array(arr1.length).fill().map(() => []);
for (let i = 0; i < arr1.length; i++) {
for (let j = 0; j < arr1[0].length; j++) {
answer[i].push(arr1[i][j] + arr2[i][j])
}
}
return answer;
}
[ [], [] ] 만드는 경우
1. 이중 for문 이용하기
const arr = [];
for (let i = 0; i < 2; i++) {
arr.push(new Array(1));
}
const arr1 = [];
for (let i=0; i<2; i++) {
arr1[i] = [];
}
2. new Array , map 사용하기
const answer = new Array(2).fill().map(() => []);
3. Array.from 사용하기
const arr1 = Array.from(Array(2), () => new Array())
const matrixAddition = (matrix1, matrix2) =>
matrix1.map((row, y) =>
row.map((v, x) => v + matrix2[y][x]));
function solution(arr1, arr2) {
return matrixAddition(arr1, arr2);
}
-> 인덱스를 이용해서 접근한게 너무 간결한 코드..