가영이의 스토리

[백준/Python] 백준 2738번 행렬 덧셈 본문

코딩연습장/백준

[백준/Python] 백준 2738번 행렬 덧셈

gayomii 2023. 8. 29. 09:09

🏆백준 2738번 - 행렬 덧셈

 

2738번: 행렬 덧셈

첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같

www.acmicpc.net


✍️문제


정답

# 2738번 - 행렬 덧셈
n, m = map(int, input().split())

arr1 = [list(map(int, input().split())) for _ in range(n)]
arr2 = [list(map(int, input().split())) for _ in range(n)] 

def plus(arr1, arr2):
    for j in range(len(arr1)):
        for k in range(len(arr1[j])):
            arr1[j][k] = arr1[j][k]+arr2[j][k]
    return arr1

arr = plus(arr1, arr2)
for row in arr:
    print(*row)

💫 해설 및 한줄평

행렬의 크기를 n과 m으로 입력받는다.

그리고 두개의 행렬을 arr1, arr2로 지정해준 후 행의 크기인 n만큼 입력받는다.

 

이후 plus라는 함수를 정의해서 행렬의 덧셈을 진행한다.

j : 전체배열의 길이가 행의 크기

k : 배열원소의 길이가 열의크기

최종적으로 arr1을 arr1과 arr2를 더해준값으로 return해준다.

 

생성한 함수를 통해 arr1과 arr2를 더한 행렬을 arr라고 칭해준 후 대괄호를 제외하고 행렬의 내용만 나오게 하기위해 *row를 사용하여 최종 출력을 진행했다.

 

*row 까먹지말기! 그리고 nunpy로 하면 간단하게 되는데 왜 안되냐...ㅡ,.ㅡ

 

 

 

 

 

 

 

Comments