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();
}
}
}