1. 2738번
1) 문제
2) 풀이
import sys
n, m = map(int, sys.stdin.readline().split())
matrix_1 = []
for i in range(n):
line = list(map(int, sys.stdin.readline().split()))
matrix_1.append(line)
matrix_2 = []
for i in range(n):
line = list(map(int, sys.stdin.readline().split()))
matrix_2.append(line)
for i in range(n):
for j in range(m):
if j < m-1:
print((matrix_1[i])[j]+(matrix_2[i])[j], end = " ")
else:
print((matrix_1[i])[j]+(matrix_2[i])[j])
3) 문법 및 풀이과정
(1) n,m값을 입력받는다. (n은 행의 개수/m은 열의 개수를 의미한다.)
(2) matrix_1 리스트를 만들어 놓은 후 for문을 n번 반복해 matrix_1에 값을 채운다.
(3) 이때 입력되는 m개의 숫자들을 list로 받은 후 그 list를 matrix_1에 입력하여 2차원 배열을 만든다.
(4) 같은 방법으로 matrix_2를 만든다.
(5) 이중 for문을 활용해 matrix의 각 위치의 값들을 더한다.
첫번째 for문은 각 행에 해당되는 수들을 더할 목적으로 range(n)번 반복한다. 이 때 i는 matrix_1과 matrix_2의 index에 해당하게 된다. 두번째 for문은 i번째 index에 있는 원소인 list의 index를 의미하며 행렬로서는 열을 의미한다. 따라서 range(m)만큼 for문을 반복한다.
(6) if문을 통해 j가 m-1보다 작을 때만 end = " " 를 적용하여 줄바꿈이 아닌 띄어쓰기로 결과가 반영되도록 한다.
(7) j = m-1일때는 줄바꿈이 되도록한다.
j는 열을 의미하므로 마지막 열인 m-1(파이썬은 0부터 시작하므로 마지막이 m-1이 된다.) 이 나올 때 줄바꿈이 되어야 다음 행이 아랫줄에 출력될 수 있기 때문이다.
'Learning-log > Algorithm 문풀' 카테고리의 다른 글
백준(파이썬, python) - 2292번 벌집(2022.11.03) (0) | 2022.11.05 |
---|---|
백준(파이썬, python) - 1712번 손익분기점(2022.11.02) (0) | 2022.11.03 |
백준(파이썬, python) - 2566번 최댓값 (2022.11.02) (0) | 2022.11.03 |
백준(파이썬, python) - 10807번 개수 세기(2022.11.01) (0) | 2022.11.01 |
백준(파이썬, python) - 5597번 과제 안 내신 분..? (2022.11.01) (0) | 2022.11.01 |