프로그래머스 #JS - 행렬의 덧셈

SSO·2020년 1월 17일
0

프로그래머스Lv1

목록 보기
33/47
post-custom-banner

문제

https://programmers.co.kr/learn/courses/30/lessons/12950

풀이

  1. 2020
function solution(arr1, arr2) {
  var answer = [];
  var len = arr1.length;
  var len2 = arr1[0].length;
  for(var z=0; z<len; z++){
    answer.push([]);
  }
  for(var i=0; i<len; i++){
    for(var j=0; j<len2; j++){
      answer[i][j] = arr1[i][j]+arr2[i][j];
    }
  }
    return answer;
}
더 생각해보기
  • 왜 처음에 헤매었는지:
    1)행렬을 배열로 나타내기 2)처음의 빈 배열을 어떻게 선언해야 하는지.
    2)문제 제대로 읽기 => 정사각 행렬이라는 말이 아니라 두 행렬이 행과 열의 수가 같음
다른사람의 풀이
function sumMatrix(A,B){
  return A.map((a,i) => a.map((b, j) => b + B[i][j]));
}
  1. 2019
function solution(arr1, arr2) {
    var answer = [[]];
    var lengthOfRow = arr1.length;
    var lengthOfColum = arr1[0].length;
    for (var i=0; i<lengthOfRow; i++){
        if (i>0){
        answer.push([]);
        }
        for (var j=0; j<lengthOfColum; j++){
           (answer[i])[j] = (arr1[i])[j] + (arr2[i])[j] ;
        }
    }

    return answer;
}

참고사항

array method - map()
=> index를 고려하지 않은 연산이 가능
=> array.map((currentValue, index) => map method의 두 번째 인자로 현재값의 index를 사용할 수 있음(`` ``는 optional한 값임을 의미)

profile
happy
post-custom-banner

0개의 댓글