✏️ 문제
https://www.acmicpc.net/problem/2738
2738번: 행렬 덧셈
첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같
www.acmicpc.net
✏️ 풀이방법
1. A,B 두개의 2차원 배열을 각각 입력받기
2. 입력받은 각 행열의 서로의 원소를 더한 값 변수선언해서 저장하기
3. 저장한 변수 출력하기
4. 출력할 때 공백과 함께 출력해야하기에 print함수의 end옵션과 함께 출력
📌 코드
n,m = map(int,input().split())
a = []
for i in range(n):
a.append(list(map(int,input().split())))
b = []
for i in range(n):
b.append(list(map(int,input().split())))
for i in range(n):
for j in range(m):
result = a[i][j] + b[i][j]
print(result, end= ' ')
print( )
📌 결과
#입력
3 3
1 1 1
2 2 2
0 1 0
3 3 3
4 4 4
5 5 100
#출력
4 4 4
6 6 6
5 6 100
🤔 시행착오.1
n,m = map(int,input().split())
#두개의 2차원배열을 입력받아야함
graph = []
for _ in range(2):
for i in range(n):
graph.append(list(map(int,input().split())))
#리스트로 출력되면안됨
result = [[0]*m for i in range(n)]
for i in range(n):
for j in range(m):
result[i][j] = graph[i][j] + graph[i+n][j]
print(result)
- 2차원 배열을 한번에 입력 받는 것이 아니라 두개의 2차원 배열 A, B를 입력받아 연산해야하기 때문에 오답처리가 된다
(하나의 2차원 배열에 행렬 A,B의 원소를 담고 각 행렬의 크기를 기준으로 반복문 연산수행해서 합을 계산)
- 행렬 연산을 리스트에 담아 출력 했기 때문에 데이터 타입이 맞지 않아 오답처리가 된다.
📝 메모
- 문제에서 주어진 대로 입력받고, 주어진 형식과 맞게 출력할 것!
📒 다시보기
[Python] 06. 입출력(input(),print(),print()문의 옵션)
input() (입력하기) - 명령프롬프트에서 사용자로 부터 데이터를 입력 받을 때 사용 - input() 함수는 사용자가 무엇을 입력해도 결과가 무조건 문자열 자료형*** a = input() print() (출력하기) - 입력된
somin0416.tistory.com
'Python > online judge' 카테고리의 다른 글
백준 [2563.색종이] | Python (0) | 2023.11.17 |
---|---|
백준 [1157.단어 공부] | Python (0) | 2023.11.17 |
백준 [10798.세로읽기] | Python (0) | 2023.11.17 |
백준 [10870.피보나치 수5] | Python (0) | 2023.11.17 |
백준 [2438.별찍기-1] | Python (0) | 2023.11.16 |