12950. 행렬의 덧셈 - 2차원 array 선언

서진·2023년 6월 6일

programmers

목록 보기
17/33

🔻 행렬의 덧셈

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

입출력 예

arr1arr2return
[[1,2],[2,3]][[3,4],[5,6]] [[4,6],[7,9]]
[[1],[2]][[3],[4]] [[4],[6]]

👀
2차원 배열 초기화하기!! 파이썬에서는 [[],[]]와 같이 선언이 되는데, 자바스크립트는 역시나 그렇지 않길래 기록해둔다..


[👩🏻‍💻내 코드]

function solution(arr1, arr2) {

    const answer = new Array(arr1.length).fill().map(() => []);

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

✅ 2차원 배열 초기화하기

[ [], [] ] 만드는 경우

1. 이중 for문 이용하기

const arr = [];
for (let i = 0; i < 2; i++) {
  arr.push(new Array(1));
}   
                      
const arr1 = [];
for (let i=0; i<2; i++) {
 arr1[i] = [];
}

2. new Array , map 사용하기

const answer = new Array(2).fill().map(() => []);  

3. Array.from 사용하기

const arr1 = Array.from(Array(2), () => new Array())

[👀 참고용]

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

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

💡

-> 인덱스를 이용해서 접근한게 너무 간결한 코드..

profile
🫧 ☁️ 🌙 👩🏻•💻 🌿 🐱 🖱 🍟 🚀 ⭐️ 🧸 🍀 💗

0개의 댓글