개발/코딩테스트

[프로그래머스] 행렬의 덧셈

매지깅 2021. 1. 16. 20:52

이차원 벡터에 대해 이해하면 풀 수 있는 문제이다.

vector의 자료형으로 vector 를 담아서 사용하는 것을 이차원 벡터로 볼 수 있다. (다차원 배열 같은 느낌..)

예시)

vector<vector<int>> v;
vector<int> tmp;

tmp.push_back(1);
tmp.push_back(2);
v.push_back(tmp); // v의 첫번째 요소로 tmp를 넣어 준다.

cout<<v[0][0]<<endl; // v의 첫번째 요소 접근, "1"이 출력됨
#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    vector<vector<int>> answer;
    vector<int>temp;
    
    // 벡터의 행 단위 for문
    for(int i =0; i<arr1.size(); i++)
    {
    	// 행 단위 요소들을 구하기 위한 for문
        for(int j =0; j<arr1[i].size(); j++)
        {
            temp.push_back(arr1[i][j]+arr2[i][j]);
        }
        answer.push_back(temp);
        temp.clear();
    }
    return answer;
}