[프로그래머스] 행렬의 덧셈 - JavaScript

coderH·2022년 3월 2일
1

프로그래머스코테

목록 보기
5/27
post-thumbnail
post-custom-banner

행렬의 덧셈

문제

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.
2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요.

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예제

arr1arr2return
[[1,2],[2,3]][[3,4],[5,6]][[4,6],[7,9]]
[[1],[2]][[3],[4]][[4],[6]]

정답

function solution(arr1, arr2) {
    const answer = [];

    for (let i = 0; i < arr1.length; i++) {
        const bracket = [];
        for(let j = 0; j < arr1[i].length; j++) {
            bracket.push(arr1[i][j] + arr2[i][j]);
        }
        answer.push(bracket);
    }
    return answer;
}

풀이

속도를 위해 map이 아닌 2중 for문을 통해 풀었습니다.

2차원 배열을 출력해야하며 i는 arr1.length, arr2.length와 같고
j는 arr1[i].length, arr2[i].length와 같습니다.

반복 하면서 arr1과 2의 요소들을 더하며 이 결과값은 배열이 되도록 bracket이라는 변수에 집어 넣습니다.
j의 반복문이 모두 끝나면 answer변수에 bracket을 push하여 2차원 배열 형태가 될 수 있도록 하고
i의 반복문이 시작되면서 bracket은 다시 초기화됩니다.

post-custom-banner

2개의 댓글

comment-user-thumbnail
2022년 6월 8일

안녕하세요! 글 잘 읽었습니다!
아직 초보라 부족해서 질문 한가지 드려도 될까요?
solution.js에서는 var answer = [[]]로 주어졌는데, 이 부분은 제가 코드 작성 시에 바꿔도 되는 것일까요?

1개의 답글