알고리즘/백준 풀이

[백준] 2738번: 행렬 덧셈 (파이썬/Python)

제로타이 2023. 2. 20. 09:39

 

목차

    개요

    2738번: 행렬 덧셈 (acmicpc.net)

     

    2738번: 행렬 덧셈

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

    www.acmicpc.net

    풀이

    2차원 행렬을 사용하는 문제. 같은 차원의 두 행렬을 받고, 그 행렬을 더해주면 되는데 numpy라면 알아서 element-wise 연산을 진행해주지만 기본 파이썬에는 그딴 게 없다. 그래서 결국 2중 반복문을 돌기는 해야하는 것 같다. 

    먼저 첫번째 행렬을 입력으로 받아 만들어준 뒤에 두번째 행렬을 입력으로 받을 때 바로 첫번째 행렬에 값을 더해준다. 그리고 나오는 값들을 바로 바로 출력해주면 끝. 

    코드

    import sys
    
    input = sys.stdin.readline
    
    N, M = map(int, input().split())
    inlst = [list(map(int, input().split())) for _ in range(N)]
    for i, _ in enumerate(range(N)):
        tmp = list(map(int, input().split()))
        for j in range(M):
            inlst[i][j] += tmp[j]
            print(inlst[i][j], end=' ')
        print()