본문 바로가기
코딩테스트/[백준]단계별로풀어보기(C++)

[백준][2차원배열] 2738번 : 행렬 덧셈 (C++)

by 오리로스 2024. 3. 17.

https://www.acmicpc.net/problem/2738

 

2738번: 행렬 덧셈

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

www.acmicpc.net

풀이
#include <iostream>
#include <vector>
using namespace std;
int main(){
    int n,m;
    cin >> n >> m;
    vector<vector<int>> A(n,vector<int>(m,0)),B(n,vector<int>(m,0));

    for(int i{0};i<n;++i)
        for(int j{0}; j<m ; ++j)
            cin >> A[i][j];

    for(int i{0};i<n;++i)
        for(int j{0}; j<m ; ++j)
            cin >> B[i][j];

    for(int i{0};i<n;++i){
        for(int j{0}; j<m ; ++j){
          cout << A[i][j]+B[i][j] << " ";  
        }
        cout << "\n";
    }
     return 0;        
}

 

벡터로 풀어도 일반 행렬로 풀어도 무방하다. (굳이 벡터를 쓸 필요가 없긴한데,,, 익숙함에 그만...)