본문 바로가기
프로그래머스

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

by 코딩하자9 2022. 11. 29.
728x90

코딩 테스트 30
프로그래머스 코딩테스트 연습 문제지

코딩 영역

Lv.1
성명
수험 번호 -
행렬의 덧셈 30. 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. * 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.
function solution(arr1, arr2) {
    var 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;
}
나의 풀이 for문을 활용하여 두개의 배열에서 같은 인덱스 값을 더해주었습니다.
function sumMatrix(A,B){
    /*var answer = Array();
  var rowMax = A.length > B.length ? A.length : B.length;
  var colMax = A[0].length > B[0].length ? A[0].length : B[0].length;
    for(var i=0; i < rowMax; i++)
  {
    answer[i] = new Array();
    for(var j=0; j < colMax; j++)
    {
      console.log(isNaN(A[i][j])?0:A[i][j]);
      console.log(isNaN(B[i][j])?0:B[i][j]);
            answer[i][j] = parseInt(isNaN(A[i][j])?0:A[i][j]) + parseInt(isNaN(B[i][j])?0:B[i][j]);
    }
  }*/

    return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}

// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(sumMatrix([[1,2], [2,3]], [[3,4],[5,6]])) 
다른 풀이 화살표 함수와 map 메서드를 활용하여 풀어주었네요 !

댓글


It's cording time

코딩 여기서 정리하고 배워보자구 :9

광고 준비중입니다.