✏️ 문제풀이/백준

[백준/Java] 2738번 :: 행렬 덧셈

bono-hye 2024. 4. 21. 21:54

🌱 BufferedReader 사용

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

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[][] arr1 = new int[n][m];		// 첫번째 행렬
		int[][] arr2 = new int[n][m];		// 두번째 행렬
		int[][] result = new int[n][m];		// 첫번째 행렬과 두번째 행렬의 각 원소를 더한 행렬
		
		for(int i=0; i<n; i++)
		{
			st = new StringTokenizer(br.readLine());
			
			for(int j=0; j<m; j++)
				arr1[i][j] = Integer.parseInt(st.nextToken());
		}
		
		for(int i=0; i<n; i++)
		{	
			st = new StringTokenizer(br.readLine());
		
			for(int j=0; j<m; j++)
				arr2[i][j] = Integer.parseInt(st.nextToken());
		}
		
		for(int i=0; i<n; i++)
			for(int j=0; j<m; j++)
				result[i][j] = arr1[i][j] + arr2[i][j];
		
		for(int i=0; i<n; i++)
		{
			for(int j=0; j<m; j++)
				System.out.print(result[i][j] + " ");
			System.out.println();	
		}
	}
}

 

🌱 Scanner 사용

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];
		int[][] arr2 = new int[n][m];
		int[][] result = new int[n][m];
		
		for(int i=0; i<n; i++)
			for(int j=0; j<m; j++)
				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++)
			for(int j=0; j<m; j++)
				result[i][j] = arr1[i][j] + arr2[i][j];
		
		for(int i=0; i<n; i++)
		{
			for(int j=0; j<m; j++)
				System.out.print(result[i][j] + " ");
			System.out.println();
		}
		sc.close();
		
	}
}

 

💡 정리

크게 어렵지 않은 문제였다!