공부하기/백준

[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
*/