알고리즘/백준

공부 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차원 배열 문제가 생겨서 풀어봤다

반응형