05. Python(행렬 덧셈)
05. Python(행렬 덧셈)
[toc]
평점 계산기
문제
https://www.acmicpc.net/problem/2738
오답
1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np
n, m = map(int, input().split())
if n > 100 and m > 100:
raise ValueError("행과 열의 크기는 100을 넘을 수 없습니다.")
A_list = np.random.randint(0, 100, size=(n, m))
B_list = np.random.randint(0, 100, size=(n, m))
A_B_Sum = A_list + B_list
print(f'A_list \n {A_list}')
print(f'B_list \n {B_list}')
print(f'A_B_Sum \n {A_B_Sum}')
문제점
- 문제의 의도를 제대로 이해 못했음
- 행렬의 크기를 입력받고 그 후 입력값을 받는 형식으로 만들어야 하는데 난수 행렬을 만들어서 계산함
해결1
1
2
3
4
5
6
7
8
9
10
11
import sys
n, m = map(int, input().split())
A_list = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]
B_list = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]
for i in range(n):
for j in range(m):
print(A_list[i][j] + B_list[i][j], end=' ')
print()
- 온라인 코딩 플랫폼에서 readline이 제대로 작동하지 않아 런타임 에러 발생
해결2
1
2
3
4
5
6
7
8
9
10
n, m = map(int, input().split())
A_list = [list(map(int, input().split())) for _ in range(n)]
B_list = [list(map(int, input().split())) for _ in range(n)]
# print('결과')
for i in range(n):
for j in range(m):
print(A_list[i][j] + B_list[i][j], end=' ')
print()