본문 바로가기
Algorithm

[구현/수학] 백준 2738 행렬 덧셈 - Python

by jangThang 2022. 2. 7.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    2738번: 행렬 덧셈

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     크기가 N*M인 두 행렬을 더하는 문제입니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    [ Contents ] 1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하

    star7sss.tistory.com

     2차원 리스트로 행렬을 입력받고 더하는 문제입니다.

     

     

     

    3. 코드

    N, M = map(int, input().split())
    matrix = []
    #행렬 A입력
    for i in range(N):
        matrix.append(list(map(int, input().split())))
    
    #행렬 B덧셈
    for i in range(N):
        b = list(map(int, input().split()))
        for j in range(M):
            matrix[i][j] += b[j]
    
    #행렬 출력
    for i in range(N):
        row = ''
        for j in range(M):
            row += str(matrix[i][j]) + " "
        print(row[:-1])

     먼저 행렬 A를 입력받습니다. 이후 행렬 B입력은 바로 A에 더해줬습니다.

    row[:-1]은 맨 마지막 공백을 제거하기 위해서 사용했습니다.

     

     

    N, M = map(int, input().split())
    matrix = []
    #행렬 A입력
    for i in range(N):
        matrix.append(list(map(int, input().split())))
    
    #행렬 B덧셈 후 출력
    for i in range(N):
        b = list(map(int, input().split()))
        row = ''
        for j in range(M):
            matrix[i][j] += b[j]
            row += str(matrix[i][j]) + " "
        print(row[:-1])

     두 번째 for문에서 덧셈과 출력을 같이하셔도 좋습니다.

     

     

    star가 되고나서 Tistory

    반응형

    댓글