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

 

문제 풀어보기: https://school.programmers.co.kr/learn/courses/30/lessons/12950?language=javascript

 

풀이보기
더보기
function solution(arr1, arr2) {
    let result = [];
    
    for(let i = 0; i < arr1.length; i++) {
        result[i] = [];
        
        for(let j = 0; j < arr1[i].length; j++) {
            result[i].push(arr1[i][j] + arr2[i][j]);
        }
    }
    return result;
}

 for문에서 result[i] = []를 통해 i 값에 맞게 빈배열을 먼저 넣어주고,

그 다음 for문에서 각 인덱스에 맞게 더해서 push 해주면 된다 !

처음에 작성한 코드도 가독성이 좋다고 생각하지만 다른 사람의 풀이를 보고 map을 사용해서 다시 풀어보았다.

 

function solution(arr1, arr2) {
  return arr1.map((array, i) => array.map((value, j) => value + arr2[i][j]));
}

map은 새로운 배열을 반환해주기 때문에 따로 선언해줄 필요가 없었고 더 간결하고 효율적인 코드가 완성되었다.

 

반응형

+ Recent posts