Practice for coding test

프로그래머스 - Level 1. 행렬의 덧셈 / JavaScript (js)

Gray Park 2023. 2. 13. 11:30
728x90
반응형

문제설명

문제분석

두 행렬의 같은 요소를 더해주면 되는 문제입니다. 매우 간단하므로 예시를 작성하되 자세한 설명은 생략합니다.

/* arr1:          arr2:          return:
 * [              [              [
 *  [1, 2],        [3, 4],        [4, 6],
 *  [2, 3],        [5, 6],        [7, 9],
 * ]              ]              ]
 */

이해하기 쉽게 코드작성하기

function solution(arr1, arr2) {
    var answer = [];
    for(let r = 0; r < arr1.length; r++) {
        const row = [];
        for(let c = 0; c < arr1[r].length; c++) {
            row.push(arr1[r][c] + arr2[r][c]);
        }
        answer.push(row);
    }
    return answer;
}

각 요소를 더한 결과를 배열로 담아 리턴하면 됩니다. 각 요소에 접근할 수 있고, 각 요소의 인덱스를 파악할 수 있으니 다음과 같이 리팩토링 할 수 있습니다.

function soludtion(arr1, arr2) {
	return arr1.map((a, r) => a.map((b, c) => b + arr2[r][c]));
}
728x90
반응형