[프로그래머스] Lv.1 행렬의 덧셈 (JavaScript)

혜린·2022년 1월 15일
0
post-thumbnail

🔐 문제

행과 열의 크기가 같은 두 행렬 arr1과 arr2가 있다.
이 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과를 반환하는 함수를 완성하라.

  • 예시1
    arr1은 [[1,2],[2,3]]이고, arr2는 [[3,4],[5,6]]일 때,
    [[4,6],[7,9]]가 반환되어야 한다.

  • 예시2
    arr1은 [[1],[2]]이고, arr2는 [[3],[4]]일 때,
    [[4],[6]]가 반환되어야 한다.

🔑 풀이

function solution(arr1, arr2) {
    let final=[];
    for(let i = 0; i < arr1.length; i++) {
        let answer=[];
        for(let j = 0; j < arr1[i].length; j++) {
            answer.push(arr1[i][j] + arr2[i][j]);
        } 
        final.push(answer);
    }
    return final
}
  • 예시1을 보았을 때, arr1[0][1,2]이고, arr2[0][3,4]이다.
    결국 arr1[0][[0]인 1과 arr2[0][0]인 3을 더해주는 것과 같은 과정을 순차적으로 반복해주어야 한다. 이에 따라, 반복문을 이중으로 사용해주었다.

🔑 다른풀이

function solution(arr1, arr2) {
    return arr1.map((a, i) => a.map((b, j) => b + arr2[i][j]));
}
  • 새로운 배열을 반환해주는 배열 메서드 map을 사용해주었다.

profile
FE Developer

0개의 댓글