Java/Java 알고리즘

백준 2738번 행렬 덧셈 JAVA 구현해보기

kimc 2022. 7. 29. 22:39

```

백준 2738번 행렬 덧셈 JAVA 구현해보기

```

이번 글을 통해 배워갈 내용

  1. 백준 2738번 행렬 덧셈 풀이

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

 

2738번: 행렬 덧셈

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

www.acmicpc.net

 

백준 2738번 행렬 덧셈은

난이도 브론즈 등급의 문제로서

 

동일한 크기의 행렬 A와 B를 입력받고

그 행렬 합을 구해주면 되는 문제입니다.

 


30분 정도 위에 링크를 방문하셔서 풀어보시고

안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.


행렬 크기를 입력받고

입력받은 행렬 크기의 행렬을 두 개 입력받은 다음

행렬합을 연산해주고

출력해주었습니다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    final static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    public static void main(String[] args) throws IOException {

        final String[] inputLine01 = br.readLine().split(" ");

        final int sizeRow = Integer.parseInt(inputLine01[0]);
        final int sizeCol = Integer.parseInt(inputLine01[1]);

        final int[][] matrixA = inputMatrix(sizeRow, sizeCol);
        final int[][] matrixB = inputMatrix(sizeRow, sizeCol);

        final int[][] matrixSum = addMatrices(matrixA, matrixB, sizeRow, sizeCol);
        printMatrix(matrixSum, sizeRow, sizeCol);
    }

    private static void printMatrix(int[][] matrixSum, int sizeRow, int sizeCol) {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < sizeRow; i++) {
            for (int j = 0; j < sizeCol; j++) {
                sb.append(matrixSum[i][j]).append(" ");
            }
            sb.setLength(sb.length() - 1);
            sb.append("\n");
        }
        sb.setLength(sb.length() - 1);
        System.out.print(sb);
    }

    private static int[][] addMatrices(int[][] matrixA, int[][] matrixB, int sizeRow, int sizeCol) {
        int[][] newMatrix = new int[sizeRow][sizeCol];
        for (int i = 0; i < sizeRow; i++) {
            for (int j = 0; j < sizeCol; j++) {
                newMatrix[i][j] = matrixA[i][j] + matrixB[i][j];
            }
        }
        return newMatrix;
    }

    private static int[][] inputMatrix(int sizeRow, int sizeCol) throws IOException {
        int[][] newMatrix = new int[sizeRow][sizeCol];
        for (int i = 0; i < sizeRow; i++) {
            final String[] inputLine = br.readLine().split(" ");
            for (int j = 0; j < sizeCol; j++) {
                newMatrix[i][j] = Integer.parseInt(inputLine[j]);
            }
        }
        return newMatrix;
    }
}

// https://codemasterkimc.tistory.com

 

 

읽어주셔서 감사합니다

 

무엇인가 얻어가셨기를 바라며

 

오늘도 즐거운 코딩 하시길 바랍니다 ~ :)

 


 

728x90