개발 뜯기/코딩테스트

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

디자인 지지(ZII) 2021. 6. 23. 00:05
반응형

 

문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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()을 사용하다니ㅠㅠ 빨리 이것도 공부해야겠다.

 

 

반응형