티스토리 뷰

adhttps://programmers.co.kr/learn/courses/30/lessons/12950

 

코딩테스트 연습 - 행렬의 덧셈

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

programmers.co.kr

 

[문제 풀이]

 

1. 각 행렬의 크기가 동일하고, 크기는 500을 넘지 않으므로 25_000을 넘지 않는다. 따라서 O(N^2)으로 충분히 풀 수 있다.

2. 행과 열의 크기가 동일하기 때문에 행, 열의 크기를 가진 배열을 새로 만든다.

3. 전부 순환하면서 각 행렬의 값을 더한 후 새로운 배열에 넣어준다.

4. 행렬의 각 값이 몇 이다라는 조건은 없지만 반환값이 int[][] 형이므로 int로 푼다.

 

[소스 코드]

 

public class MatrixAddition {
    public static void main(String[] args) {
        int[][] arr1 = {{1, 2}, {2, 3}};
        int[][] arr2 = {{3, 4}, {5, 6}};

        System.out.println(Arrays.deepToString(solution(arr1, arr2)));
    }

    private static 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[0].length; j++) {
                answer[i][j] = arr1[i][j] + arr2[i][j];
            }
        }

        return answer;
    }
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함