Python/online judge

백준 [2738.행렬 덧셈] | Python

구름솜:D 2023. 11. 17. 16:58
728x90

✏️ 문제

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