본문 바로가기
TIL/알고리즘

조금 쉬운 알고리즘 - 행렬의 덧셈

by saramnim 2023. 3. 6.
728x90

1 단계 알고리즘에 대해 알아보자!

Q. 행렬의 덧셈

문제 설명

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

제한 사항

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

입출력 예

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

solution.js

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

var sum = [ ]; 의 위치를 바꾸면 정답이 제대로 출력되지 않는다.

 

다른 사람의 풀이

function sumMatrix(A,B){
    return A.map((arr1, idx1) => arr1.map((val, idx2) => val+B[idx1][idx2]));
}

처음엔 나도 map으로 풀려다가 값이 undefined로 뜨길래 결국 이중 for문을 사용하는 방안으로 바꿨다.

위 풀이처럼 map으로 코드를 단순화 할 수 있도록 노력하자.

728x90
반응형

댓글

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."