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

Parkboss·2022년 8월 9일
0

코딩테스트

목록 보기
3/19

✅문제

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

❕ 제한사항

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

📢 입출력 예제

첫번째 for문까지는 풀었는데 두번째 for문에서 j를 arr2.length로 적고 입출력 값이 나오지 않아 도중에 해설을 보았다..


이 부분을 먼저 짚고 넘어가야 코드를 이해할수 있다!

포인트!

arr1 = [[1,2],[2,3]]  // 여기서 i는 배열의 1,2의 배열인 [1,2]를 가르킨다. 
         [i]   [i]    // 즉, arr1[i].length 는 2이다.
         
arr1 = [1 , 2], [2 , 3] // 여기서 j는 i배열의 인덱스를 가르킨다.
       [j] [j]  [j] [j]

💻 다른 사람 풀이

function solution(arr1, arr2) {
    var answer = [[]];
    for(let i = 0; i < arr1.length; i++){
        answer[i] = []; 
        // answer에 빈 배열을 추가한다. 즉, [[], []] 첫번째 for문으로 행 추가
        
        for(let j = 0; j < arr1[i].length; j++){
        // arr[i].length는 위에 설명처럼 길이는 2이다.
        
            answer[i].push(arr1[i][j]+ arr2[i][j])
            
            //answer[i][j] = arr1[i][j]+ arr2[i][j]; 
            
            //answer[0][0] = arr1[0][0] + arr2[0][0]; // answer[0][0] = 1 + 3 = 4
            //answer[0][1] = arr1[0][1] + arr2[0][1]; // answer[0][1] = 2 + 4 = 6
            //answer[1][0] = arr1[1][0] + arr2[1][0]; // answer[1][0] = 2 + 5 = 7
            //answer[1][1] = arr1[1][1] + arr2[1][1]; // answer[1][1] = 3 + 6 = 9
        }
    }
    return answer;
    
    //output
    // 0: [4, 6]
    // 1: [7, 9]
}

행렬 참고하기 좋은 영상!

profile
ur gonna figure it out. just like always have.

0개의 댓글