공부하기/백준

[Java] 백준 풀기 2738 - 행렬 덧셈

XEV 2023. 1. 12. 21:01

자바 백준 2738번

브론즈 5

https://www.acmicpc.net/problem/2738

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net

 

 

 

 

 

문제 보기

분류: 수학, 구현

 

 

 

 

 

문제 풀기

자바 연습을 위해 온라인 컴파일러로 하나하나 출력해 보며 풀어본다.

Scanner 를 준비하여 nextInt() 로 n 과 m 을 입력받는다.

2차원 배열 a_array, b_array 그리고 result_array 를 생성하고 이중 for loop 을 통해 각각의 array 에 값을 저장한다.

두 array 의 각 index 값을 합하여 result_array 에 저장한다.

for loop 를 사용하고 공백 " " 을 추가하여 답안의 형식에 맞춰 출력시킨다.

 

 

 

 

 

코드 보기

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
        
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int m = sc.nextInt();
        
        int[][] a_array = new int[n][m];
        int[][] b_array = new int[n][m];
        int[][] result_array = new int[n][m];
        
        for (int i = 0; i < a_array.length; i++) {
            for (int j = 0; j < a_array[i].length; j++) {
                a_array[i][j] = sc.nextInt();
            }
            System.out.println(Arrays.toString(a_array[i]));            // TEST PRINT
        }
        System.out.println();                                           // TEST PRINT
        
        for (int i = 0; i < b_array.length; i++) {
            for (int j = 0; j < b_array[i].length; j++) {
                b_array[i][j] = sc.nextInt();
            }
            System.out.println(Arrays.toString(b_array[i]));            // TEST PRINT
        }
        System.out.println();                                           // TEST PRINT
        
        
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                result_array[i][j] = a_array[i][j] + b_array[i][j];
            }
            System.out.println(Arrays.toString(result_array[i]));       // TEST PRINT
        }
        System.out.println();                                           // TEST PRINT
        
        
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                result_array[i][j] = a_array[i][j] + b_array[i][j];
                System.out.print(result_array[i][j] + " ");
            }
            System.out.println();
        }

      sc.close();
    }
}



/*
3 3
1 1 1
2 2 2
0 1 0
3 3 3
4 4 4
5 5 100

[1, 1, 1]
[2, 2, 2]
[0, 1, 0]

[3, 3, 3]
[4, 4, 4]
[5, 5, 100]

[4, 4, 4]
[6, 6, 6]
[5, 6, 100]

4 4 4 
6 6 6 
5 6 100 
*/