본문 바로가기
백준

[백준] 2738번 : 행렬 덧셈 – JAVA [자바]

by Hongwoo 2023. 8. 1.
반응형

https://www.acmicpc.net/problem/2738

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 2738번 행렬 덧셈은 브론즈 5 난이도의 수학 및 구현 문제이다. 

 

이 문제에서는 행렬의 크기 N과 M이 주어진다. 추가로 N개의 줄에 행렬 A의 원소 M개가 차례대로 2번씩 주어진다. 이때 N개의 줄에 행렬 A와 B를 더한 행렬을 출력하면 되는 문제이다.

 

이 문제는 2D 배열을 이용해서 쉽게 풀 수 있다. 우선 크기가 [ n ] [ m ]인 int형 2D 배열을 만들고 처음에 입력받는 원소들을 저장한다. 그리고 두 번째로 입력받을 때 행렬에 같은 인덱스에 있는 수를 더해서 출력을 해주면 된다.

 

자세한 코드는 아래에 있는 코드를 참고하면 되겠다.

 


  • 코드

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int[][] arr = new int[n][m];
        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(br.readLine());
            for (int j = 0; j < m; j++) {
                arr[i][j] = Integer.parseInt(st.nextToken());
            }
        }
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < n; i++) {
            st = new StringTokenizer(br.readLine());
            for (int j = 0; j < m; j++) {
                sb.append(arr[i][j] + Integer.parseInt(st.nextToken()) + " ");
            }
            sb.append("\n");
        }
        System.out.println(sb);




    }

}

 

반응형

댓글