본문 바로가기
알고리즘 공부하기

프로그래머스 1단계 - 행렬의 덧셈

by 코딩 척척학사 2022. 11. 23.
728x90

프로그래머스 1단계 - 행렬의 덧셈

🍞 문제 설명

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

🍞 문제 풀이

반복문을 통해 값을 구한 후, sum이라는 배열에 넣고, 다시 sum을 answer에 넣어주었습니다.

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;
}

🍞 다른 이의 풀이

함수와 map()문을 이용한 풀이입니다. 무슨 소리인지는 잘 모르겠지만 보다 간단하게 풀 수 있는 창의적인 풀이인 것 같습니다.

const matrixAddition = (matrix1, matrix2) =>
  matrix1.map((row, y) =>
    row.map((v, x) => v + matrix2[y][x]));

function solution(arr1, arr2) {
    return matrixAddition(arr1, arr2);
}
728x90

댓글


HTML이 적힌 썸네일 이미지
CSS가 적힌 썸네일 이미지
JAVASCRIPT가 적힌 썸네일 이미지

JAVASCRIPT

자세히 보기