Dragonball Online Goku Hand
본문 바로가기
알고리즘 도장깨기

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

by 별의 코비 2022. 11. 21.
728x90

🔥 Programmers Lv.1 : 행렬의 덧셈


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

📎 조건 :
∙ 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.


👉🏻 My answer

function solution(arr1, arr2) {
    let answer = [];
    for (let i=0; i < arr1.length; i++) {
        let sum = [];
        for(let j=0; j < arr1[i].length; j++) {
            sum.push(arr1[i][j] + arr2[i][j])
        }
        answer.push(sum)        
    }
    return answer;
}
01. for문을 이용해서 i가 0부터 arr1의 길이만큼 반복하여 sum이라는 변수에 들어가도록 하였습니다.
02. sum에는 arr1의 i번째 인덱스의 j번째 요소와 arr2의 i번째 인덱스의 j번째 요소를 합한 것을 넣어줍니다.
03. 그 후 answer값에 넣어주면 됩니다.


👉🏻 Another ways

function sumMatrix(A,B){
    return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
: map을 두 번 사용한 간결한 풀이법입니다.

댓글