알고리즘, 코딩테스트/알고리즘 풀이

[프로그래머스/ 코딩테스트 연습문제] 행렬의 덧셈

jiyoon0000 2024. 11. 18. 14:40

Q. 행렬의 덧셈

A.

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
//arr1과 arr2 두개의 배열 크기가 같으니까 answer 배열의 크기도 같게 만들어줘야함
//[arr1.length] : 행의 길이(개수)
//[arr1[0].length] : 열의 길이(개수)

        int[][] answer = new int[arr1.length][arr1[0].length];
        
//i가 0부터 배열의 행의 길이만큼 1씩 증가하면서 answer에 값을 넣음
        for(int i=0; i<arr1.length; i++){
//j가 0부터 배열의 열의 개수만큼 1씩 증가하면서 answer에 값을 넣음
            for(int j=0; j<arr1[i].length; j++){
//같은행, 같은 열의 값을 서로 더한 결과를 반환
                answer[i][j] = arr1[i][j] + arr2[i][j];
            }
        }
        return answer;
    }
}

<행렬 배열 길이 정리>

만약 이런 행렬일 경우

int[][] arr = {

    {1,2}, //0번째 행, 2개의 열

    {3,4,5}, //1번째 행, 3개의 열

    {6,7,8,9}, //2번째 행, 4개의 열

    {10} //3번째 행, 1개의 열

};

 

1. arr.length : arr이 가지고 있는 행의 길이(개수) = 4

2. arr[0].length : 0번째 행이 가지고 있는 열의 길이(개수) = 2

3. arr[1].length : 1번째 행이 가지고 있는 열의 길이(개수) = 3

4. arr[2].length : 2번째 행이 가지고 있는 열의 길이(개수) = 4

5. arr[3].length : 3번째 행이 가지고 있는 열의 길이(개수) = 1