티스토리 뷰

백준/java

[백준 2738 / JAVA] 행렬 덧셈

3284921 2024. 11. 14. 15:24

[단계별로 풀어보기] 백준 2738 행렬 덧셈

 

문제: N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.

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

 

해설: 2차원 배열은 int[][] arr = new int[n][m] 형태로 만든다.

 

코드:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        int[][] arr1 = new int[n][m]; // 첫 번째 행렬 n*m
        int[][] arr2 = new int[n][m]; // 두 번째 행렬 n*m

        for (int i = 0; i < n; i++) { // 1행, 2행, 3행.. 순으로
            for (int j = 0; j < m; j++) { // 1행의 1열, 2열, 3열... 순으로
                arr1[i][j] = sc.nextInt(); // 위치에 값 삽입 
            }
        }
        for (int i = 0; i < n; i++) { // 두번쨰 행렬
            for (int j = 0; j < m; j++) {
                arr2[i][j] = sc.nextInt();
            }
        }

        for (int i = 0; i < n; i++) { // 두 행렬의 1행, 2행, 3행.. 순으로
            for (int j = 0; j < m; j++) { 
                System.out.print(arr1[i][j]+arr2[i][j]+" "); // 각 자리 더해서 출력
                if(j == m-1) // 각 행의 마지막 열에서 줄바꿈 
                    System.out.println();
            }
        }
    }
}

'백준 > java' 카테고리의 다른 글

[백준 2563 / JAVA] 색종이  (2) 2024.11.15
[백준 2566 / JAVA] 최댓값  (0) 2024.11.14
[백준 9086 / JAVA] 문자열  (1) 2024.11.14
[백준 2743 / JAVA] 단어 길이 재기  (0) 2024.11.14
[백준 27866 / JAVA] 문자와 문자열  (0) 2024.11.14
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함