코딩테스트 | (JavaScript) 프로그래머스 : 행렬의 덧셈

trevor1107·2021년 8월 9일
0

✅문제

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

❕ 제한사항

  • 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다.

🎹📢입출력 예제

✍풀어보기

function solution(arr1, arr2) {
    let answer = [];
    
    // 행렬의 덧셈은 인덱스가 일치하는 배열의 요소들끼리 더해주면 된다.
    for(let i = 0; i < arr1.length; ++i){
        answer.push(Array()); // 빈 배열을 추가해 공간을 확보한다.
        
        for(let k = 0; k < arr1[i].length; ++k){
            // i번째 인덱스에 해당하는 요소에 2차 배열을 추가한다.
            answer[i].push(arr1[i][k] + arr2[i][k]); 
        }
    }
    
    return answer;
}

행렬의 덧셈은 "두 행렬의 크기가 같아야지만 연산할 수 있다"는 조건으로 이미 테스트가 이루어져 있어서 빠르게 문제를 풀 수 있었다. 문제는 배열의 공간확보 및 요소 추가 부분이었는데, 처음에는 배열 데이터를 담을 임시 변수를 생성해서 담는 것을 생각했다가 비슷하지만 빈 배열을 생성해서 공간을 확보하고 2차배열로 데이터를 넣어주는 방법으로 작성했다.

다른사람의 풀이를 보고싶었는데 테스트 문제 개편으로 다른 좋은 방법을 작성 기준날짜로선 찾을 수 없었다. 조금 다르다고한다면 map을 이용해서 했다는 정도랄까..


참고 자료 및 사이트 (감사합니다)

profile
프론트엔드 개발자

0개의 댓글