알고리즘/백준
[BAEKJOON] 2738 행렬 덧셈
응애~ 개발자
2022. 8. 22. 11:29
728x90
반응형
문제 요악
- 알고리즘 분류: 수학, 구현
- 난이도: Bronze5
- 사이트 주소: https://www.acmicpc.net/problem/2738
2738번: 행렬 덧셈
첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같
www.acmicpc.net
문제 풀이
- A, B 리스트 또는 2차원 배열을 선언해서 값을 넣는다.
- 이중 for문으로 같은 인덱스 위치를 더한다.
JAVA
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[][] A = new int[N][M];
int[][] B = new int[N][M];
for(int i =0 ; i < N; i++) {
st = new StringTokenizer(br.readLine());
for(int j = 0; j < M; j++) {
A[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++) {
B[i][j] = Integer.parseInt(st.nextToken());
}
}
StringBuilder sb = new StringBuilder();
for(int i =0 ; i < N; i++) {
for(int j = 0; j < M; j++) {
sb.append((A[i][j] + B[i][j]) + " ");
}
sb.append("\n");
}
System.out.println(sb.toString());
}
}
Python
N, M = map(int, input().split())
A = [list(map(int, input().split())) for _ in range(N)]
B = [list(map(int, input().split())) for _ in range(N)]
C = [[0] * M for _ in range(N)]
for i in range(N):
for j in range(M):
C[i][j] = A[i][j] + B[i][j]
for item in C:
print(' '.join(map(str, item)))
728x90
반응형