728x90
📌문제 출처
백준 단계별 문제풀이 - 2차원 배열
https://www.acmicpc.net/problem/2738
❓ 문제
📗 문제 설명
N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.
📗 입출력
- 입력
- 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다.
- 출력
- 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.
- 첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.
❗ 풀이
- 이중 반복문
📗 풀이 코드
n,m=map(int,input().split())
arr=[[0 for _ in range(m)] for _ in range(n)]
for i in range(2*n):
tmp = list(map(int, input().split()))
for j in range(m) :
arr[i%n][j] += tmp[j]
for a in arr :
print(*a)
📗 코드 해설
- n*m 영행렬을 만든다.
- 두개의 행렬을 입력 받을 것이므로 행의 두배인 2n번 for문을 연다.
- 한 행을 입력 받아서 열 개수인 m개의 원소가 담긴 리스트를 만들고
m번 반복문을 실행하여 각 행과 열의 원소에 맞게 수를 더한다. - 똑같은 행이 두번 반복되므로 나머지 수로 행을 정한다.
'파이썬 문제풀이' 카테고리의 다른 글
[백준 파이썬] 1707 이분 그래프 (0) | 2023.09.24 |
---|---|
[백준 파이썬] 2566 최댓값 (0) | 2023.09.14 |
[백준 파이썬] 1316 그룹 단어 체커 (0) | 2023.09.14 |
[백준 파이썬] 2941 크로아티아 알파벳 (0) | 2023.09.14 |
[백준 파이썬] 5622 다이얼 (0) | 2023.09.14 |