문제 해결
아주 간단한 문제이다.
우선 스캐너 객체를 만들어 준 후, 가장 첫 줄에 공백으로 구분되어있는 숫자가 각각 행과 열의 개수를 의미하기 때문에 이를 각각 변수에 저장해준다.
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
그 이후 [n][m] 만큼의 배열 2개를 만들어준다.
int[][] arr1 = new int[n][m];
int[][] arr2 = new int[n][m];
각각의 배열을 만들어 준 후
for(int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr1[i][j] = in.nextInt();
}
}
for(int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr2[i][j] = in.nextInt();
}
}
더해주면 끝!! j가 열의 수와 같아지면 줄을 바꿔 이후 줄부터 출력한다.
for (int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
System.out.print(arr1[i][j]+arr2[i][j]+" ");
if(j == m-1)
System.out.println(); //j가 열의 수와 같아지면 줄바꿈.
}
}
최종 코드
import java.util.Scanner;
public class MatrixAddition {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int m = in.nextInt();
int[][] arr1 = new int[n][m];
int[][] arr2 = new int[n][m];
for(int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr1[i][j] = in.nextInt();
}
}
for(int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
arr2[i][j] = in.nextInt();
}
}
for (int i = 0; i < n; i++) {
for(int j = 0; j < n; j++) {
System.out.print(arr1[i][j]+arr2[i][j]+" ");
if(j == m-1)
System.out.println(); //j가 열의 수와 같아지면 줄바꿈.
}
}
}
}
반응형
'백준 문제 풀이 > 2차원 배열' 카테고리의 다른 글
(#2563 Java) 색종이 (0) | 2024.02.24 |
---|---|
(#10798 Java) 세로읽기 (0) | 2024.02.24 |
(#2566 Java) 최댓값 (0) | 2024.02.23 |