본문 바로가기
백준 문제 풀이/2차원 배열

(#2738 Java) 행렬 덧셈

by _비니_ 2024. 2. 23.

 

 

문제 해결

 

아주 간단한 문제이다.

우선 스캐너 객체를 만들어 준 후, 가장 첫 줄에 공백으로 구분되어있는 숫자가 각각 행과 열의 개수를 의미하기 때문에 이를 각각 변수에 저장해준다.

 

public static void main(String[] args) {
    Scanner in = new Scanner(System.in);

    int n = in.nextInt();
    int m = in.nextInt();

 

그 이후 [n][m] 만큼의 배열 2개를 만들어준다.

int[][] arr1 = new int[n][m];
int[][] arr2 = new int[n][m];

 

 

각각의 배열을 만들어 준 후 

for(int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        arr1[i][j] = in.nextInt();
    }
}

for(int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        arr2[i][j] = in.nextInt();
    }
}

 

더해주면 끝!! j가 열의 수와 같아지면 줄을 바꿔 이후 줄부터 출력한다.

for (int i = 0; i < n; i++) {
    for(int j = 0; j < n; j++) {
        System.out.print(arr1[i][j]+arr2[i][j]+" ");

        if(j == m-1)
            System.out.println(); //j가 열의 수와 같아지면 줄바꿈.
    }
}

 

 

최종 코드

 

import java.util.Scanner;

public class MatrixAddition {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);

        int n = in.nextInt();
        int m = in.nextInt();

        int[][] arr1 = new int[n][m];
        int[][] arr2 = new int[n][m];

        for(int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                arr1[i][j] = in.nextInt();
            }
        }

        for(int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                arr2[i][j] = in.nextInt();
            }
        }

        for (int i = 0; i < n; i++) {
            for(int j = 0; j < n; j++) {
                System.out.print(arr1[i][j]+arr2[i][j]+" ");

                if(j == m-1)
                    System.out.println(); //j가 열의 수와 같아지면 줄바꿈.
            }
        }
    }
}
반응형

'백준 문제 풀이 > 2차원 배열' 카테고리의 다른 글

(#2563 Java) 색종이  (0) 2024.02.24
(#10798 Java) 세로읽기  (0) 2024.02.24
(#2566 Java) 최댓값  (0) 2024.02.23