백준코딩테스트

[백준 2738] 행렬 덧셈

초보개발자 신씨 2022. 10. 23. 15:14
반응형

 

2738번: 행렬 덧셈

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

www.acmicpc.net

 

풀이

더보기

 

import java.io.*;
import java.util.Scanner;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));  //입력데이터 처리 : 개행문자 단위(라인피드 단위) 
        BufferedWriter bf = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer stk = new StringTokenizer(br.readLine(), " ");  //개행문자 단위로 들어온 데이터 가공

        int N = Integer.parseInt(stk.nextToken());   //.nextToken() : delim에 맞게 짤린 데이터를 하나씩 호출
        int M = Integer.parseInt(stk.nextToken());

        int [][] NM = new int[N][M]; // 행렬 담아줄 배열 생성
        int [][] NM1 = new int[N][M]; // 행렬 담아줄 배열 생성

        for (int i = 0 ; i < N ; i++) {
            StringTokenizer stk1 = new StringTokenizer(br.readLine(), " ");  //n행에 대한 입력
            for (int j = 0 ; j < M ; j++)
            {
                NM[i][j] = Integer.parseInt(stk1.nextToken());
            }
        }

        for (int i = 0 ; i < N ; i++) {
            StringTokenizer stk2 = new StringTokenizer(br.readLine(), " ");  //n행에 대한 입력
            for (int j = 0 ; j < M ; j++)
            {
                NM1[i][j] = Integer.parseInt(stk2.nextToken());
            }
        }

        for (int i = 0 ; i < N ; i++){
            for (int j = 0 ; j < M ; j++){
                bf.write(NM[i][j] + NM1[i][j] + " ");
            }
            bf.write("\n");
        }
        bf.flush();
        bf.close();
    }
}

 

 

 

반응형