COCO World

[Javascript/자바스크립트] 프로그래머스 Lv.1 - 행렬의 덧셈 본문

코딩테스트/프로그래머스

[Javascript/자바스크립트] 프로그래머스 Lv.1 - 행렬의 덧셈

코코월드주인장 2023. 1. 27. 15:27

🐥 문제 설명

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 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]]

🐥 통과한 작성 솔루션

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

 

 

🐥 그전에 오류 났던 작성 솔루션

첫 번째 오류

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

// console.log
// 기댓값 : [[4],[6]]
// 결과값 : [4,6]

 

두 번째 오류

function solution(arr1, arr2) {
    var answer = [];
    var row = [];
    
    if (arr1.length < 500 && arr2.length < 500) {
        for(let i = 0; i<arr1.length; i++) {
            for(let j = 0; j<arr1[0].length; j++) {
                row.push(arr1[i][j] + arr2[i][j]);
            }
            answer.push(row)
        }
    }
    return answer;
}


// 기댓값 : [[4],[6]]
// 결과값 : [[4,6],[4,6]]