문제 풀이

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

auyeol 2023. 8. 21. 11:29
728x90

 

문제

 

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

 

2738번: 행렬 덧셈

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

www.acmicpc.net

 

행렬의 크기 N, M을 입력받은 뒤, 두 행렬의 원소를 입력한다. 이후, 두 행렬의 덧셈을 구하는 문제이다.

 

[입력]
3 3
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

 

 

------------------------------------------------------------------------------------------------------------------

 

풀이

 

행렬의 덧셈은 서로 같은 위치에 있는 성분끼리 더하면 되는 문제이기에 행렬을 입력받은 뒤, 2차원 배열끼리 더하면 끝난다.

 

import java.util.Scanner;

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

		int i,j;
		
		int n = sc.nextInt();
		int m = sc.nextInt();
		
		int a[][] = new int[n][m];
		int b[][] = new int[n][m];
		int sum[][] = new int[n][m];
				
		for(i=0;i<n;i++) {
			for(j=0;j<m;j++) {
				a[i][j] = sc.nextInt();
			}
		}
		for(i=0;i<n;i++) {
			for(j=0;j<m;j++) {
				b[i][j] = sc.nextInt();
			}
		}
		
		sc.close();

		
		for(i=0;i<n;i++) {
			for(j=0;j<m;j++) {
				sum[i][j] = a[i][j] + b[i][j];
			}
		}
		
		for(i=0;i<n;i++) {
			for(j=0;j<m;j++) {
				System.out.print(sum[i][j]+" ");
			}
			System.out.println();
		}
		
	}
}

 

 

728x90