본문 바로가기

Algorithm/백준

[백준] 2738번: 행렬 덧셈 - JAVA [자바]

 


 

문제


 

  1. 첫째 줄에서 행렬의 크기가 주어집니다.
  2. 첫 번째 행렬을 입력합니다.
    • 1 1 1
      2 2 2
      0 1 0
  3. 두 번째 행렬을 입력합니다.
    • 3 3 3
      4 4 4
      5 5 100
  4. 두 행렬을 더하여 출력합니다.
    • 4 4 4
      6 6 6
      5 6 100

 

 

문제 풀이


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();

        int[][] arr = new int[a][b];
        //(1)
        for (int k = 0; k < 2; k++) {
            for (int i = 0; i < a; i++) {
                for (int j = 0; j < b; j++) {
                    arr[i][j] += sc.nextInt();
                }
            }
        }
        //(2)

        for (int i = 0; i < a; i++) {
            for (int j = 0; j < b; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println("");
        }
        //(3)

    }
}

 

  1. a, b 값을 입력받아 2차원 배열을 만들어줍니다.
  2. 두 행렬을 받아 두 행렬을 더해주는 for문입니다.
    • k = 행렬이 두 개이기 때문에 두 번 반복합니다.
    • i = 행렬의 행을 의미합니다.
    • j = 행렬의 열을 의미합니다.
  3. 위에서 더해준 이차원 배열을 문제에 맞게 출력하여 줍니다.

 

결과