Algorithm/기타

[백준 2738번] 행렬 덧셈 (Java 풀이)

agility 2020. 1. 26. 00:12

백준알고리즘 2738번 : 행렬 덧셈

 

행렬의 크기 N*M이 주어지고, 이러한 행렬 2개를 더한 행렬합을 출력하는 문제이다.

각 N*M 크기의 행렬 2개를 행렬 변수에 담고, 이를 더해서 다시 출력하는 것은

시간이 많이 걸린다고 판단했기 때문에

N과 M이 주어진 즉시 N*M의 행렬을 하나 만든 다음,

받은 값을 N*M 행렬의 적절한 위치에 더해주어 문제를 풀었다.

 

 

 

풀이 과정


1. N*M 크기의 행렬 x를 정의한다.
2. 이중 for문을 통해 Scanner를 통해 받아온 값들을 순차적으로 행렬 x의 적절한 위치에 더한다.
3. 행렬 x를 출력한다.

 

 

 

소스 ▽

더보기
import java.util.Scanner;

public class Main {// 2738번 행렬 덧셈
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		int N = sc.nextInt();
		int M = sc.nextInt();
		int[][] arr = new int[N][M];

		for (int i = 0; i < 2; i++) {
			for (int j = 0; j < N; j++) {
				for (int j2 = 0; j2 < M; j2++) {
					arr[j][j2] += sc.nextInt();
				}
			}
		}

		for (int i = 0; i < N; i++) {
			for (int j = 0; j < M; j++) {
				System.out.print(arr[i][j] + " ");
			}
			System.out.println();
		}
	}
}