문제 설명
행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.
제한 조건
행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
입출력 예
arr1 | arr2 | return |
---|---|---|
[1,2],[2,3]] | [[3,4],[5,6]] | [[4,6],[7,9]] |
[[1],[2]] | [[3],[4]] | [[4],[6]] |
풀이
없는 배열에 값을 할당하려 하면 undefined를 내뱉으며 들어가지 않는다.
따라서 배열이 존재하지않으면 배열을 선언해 주는 과정이 필요하다.
function solution(arr1, arr2) {
const answer = [[], []];
for (let i = 0; i < arr1.length; i++) {
for (let l = 0; l < arr1[i].length; l++) {
const sum = arr1[i][l] + arr2[i][l];
if (answer[i] === undefined) {
answer[i] = [];
}
answer[i][l] = sum;
}
}
return answer;
}
function solution(arr1, arr2) {
const answer = arr1.map( (num1, i) => {
const result = num1.map( (num2, l) => {
return num2 + arr2[i][l]
})
return result
})
return answer
}
function solution(arr1, arr2) {
return arr1.map((el, i) => el.map((el, j) => el + arr2[i][j]));
}