반응형
문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
- 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
문제 풀이
function solution(arr1, arr2) {
let answer = [];
for (let i = 0; i < arr1.length; i++) {
answer[i] = [];
for (let j = 0; j < arr1[i].length; j++) {
answer[i].push(arr1[i][j] + arr2[i][j]);
}
}
return answer;
}
어떻게 하면 배열끼리 더하는지 엄청 고민하고 고민했는데 답이 안나와서 구글의 힘을 빌렸다.
포인트는 push()* 메서드를 사용해서 배열을 새로 추가하는 것이었다.
*push()
배열의 끝에 하나 이상의 요소를 추가하고, 배열의 새로운 길이를 반환한다.
arr.push(element1[, ...[, elementN]])
push 메서드는 주어진 값을 입력하는 것을 어디에 시작할 것인지를 결정하기 위해 length 속성에 의존한다. 만약 length 속성이 숫자로 변환 될 수 없다면 인덱스는 0을 사용한다. length 가 생성되게 될 경우에 길이 값이 존재하지 않을 가능성을 포함한다.
- elementN : 배열의 끝에 추가할 요소.
다른 사람 풀이
return A.map((a,i) => a.map((b, j) => b + B[i][j]));
map()을 사용하다니ㅠㅠ 빨리 이것도 공부해야겠다.
반응형