hayu's 개발 일지

[TIL]240215 행렬의 덧셈 본문

코딩 문제/프로그래머스_java

[TIL]240215 행렬의 덧셈

hayu00 2024. 2. 15. 21:51

문제 같이 푸는 팀원들

문제 설명

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

제한 조건

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

입출력 예

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

 

출처: 프로그래머스 코딩 테스트 연습 https://school.programmers.co.kr/learn/courses/30/lessons/12950

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


내 풀이

class Solution {
        public int[][] solution(int[][] arr1, int[][] arr2) {

            int[][] answer = new int[arr1.length][arr1[0].length];
            for (int i = 0; i < arr1.length; i++) {
                for (int j = 0; j < arr1[i].length; j++) {
                    answer[i][j] = arr1[i][j] + arr2[i][j];
                }
            }
            return answer;
        }
}

 

풀이 설명

- 2차원 배열에 대한 문제였다.

- arr1 과 arr2 의 행과 열의 크기가 같다고 나왔기 때문에 새로운 2차원 배열의 행과 열의 길이를 arr1 과 같게 했다. 

- 반복문을 통해 행렬 덧셈을 진행하였다.

 

회고

-  2차원 배열 문제는 처음 풀어봤기 때문에 조금은 새로웠다. 

- 2차원 배열의 행렬 문제는 행과 열, 모두를 포함해야 하기 때문에 반복문을 사용해서 푸는 일이 많을 것 같다고 느껴졌다.