알고리즘/백준
공부 104일차: 백준 2738번 행렬 덧셈 자바 java
김발자~
2022. 11. 11. 22:41
반응형
2738 행렬 덧셈
https://www.acmicpc.net/problem/2738
2738번: 행렬 덧셈
첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같
www.acmicpc.net
백준 단계별로 풀어보기 9단계 (1) 2738번 문제 행렬 덧셈
문제
과정 생각해보기
문제의 의도는 크기가 [n][m]인 배열을 두 개 만드는 것이겠지만,
행렬의 개수가 2개로 고정되어 있어서 [2][n*m]을 만들어도 될 것 같다
1. 첫 번째 줄에서 n, m을 저장한다
2. [2][n*m] 길이의 배열을 만들어 주어진 숫자들을 배열에 넣는다
3. n*m 크기의 배열에 [0][i]+[1][i]값을 넣고 출력한다
정답 인정 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import java.io.IOException;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
int[][] arr = new int[2][n*m];
for(int i = 0; i < 2; i++) {
for(int j = 0; j < n*m; j++) {
arr[i][j] = sc.nextInt();
}
}
// 디버깅 System.out.println(Arrays.deepToString(arr));
int[] result = new int[n*m];
for(int i = 0; i < n*m; i++) {
result[i] = arr[0][i] + arr[1][i];
System.out.print(result[i] + " ");
if((i+1) % m == 0) { //m의 배수마다 줄 나누기
System.out.println();
}
}
}
}
|
cs |
설명에 적은대로 풀었다
주석에 적을 게 많지 않았다
단계별로 풀어보기 9단계로 2차원 배열 문제가 생겨서 풀어봤다
반응형