리코딩 : 알고리즘

1. 프로그래머스 - 행렬의 덧셈

BreezeBm 2021. 8. 26. 19:57

1. 프로그래머스 - 행렬의 덧셈

문제는 주어지는 행렬 arr1, arr2를 입력 받아서, 행렬 덛셈의 결과를 반환하는 함수를 작성한다.

 

예를 들어 

arr1 arr2 return
[[1,2], [2,3]] [[3,4],[5,6]] [[4,6],[7,9]]
[[1], [2]] [[3], [4]] [[4], [6]]

표를 돌려서 그려보면

arr1 [[1,2], [2,3]] [[1], [2]]
arr2 [[3,4], [5,6]] [[3], [4]]
return [[4,6], [7,9]] [[4], [6]]

세로로 더해서 나오는 결과를 만드는 함수를 작성하면 된다.

 

작성한 코드는 다음과 같다.

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

행렬이기 때문에, 반복문을 이중으로 써야겠다는 생각을 먼저 했다.

그리고 행렬의 좌표를 떠올려서 반복문을 작성했고, 문제를 풀었다.

다른 사람 풀이는 map... 을 두번 써서 쭉 써서 끝내셨던데... 공부공부. 끄적끄적...