• Jan
  • Feb
  • Mar
  • Apr
  • May
  • Jun
  • Jul
  • Aug
  • Sep
  • Oct
  • Nov
  • Dec
  • Sun
  • Mon
  • Tue
  • Wed
  • Thu
  • Fri
  • Sat
  • 27
  • 28
  • 29
  • 30
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

#12950 행렬의 덧셈

image

문제 정리

idx 같은 것 끼리 더해서 반환

생각해보기

행열은 2차원 배열이니까

size 찾아서 행은 행대로 열은 열대로 더해주면 될 듯..?

(0,0) (0,1)

(1,0) (1,1)

행과 열의 크기가 같다고 했으니까 받는 배열 둘 중에 하나만 size 계산하면 됨

0,0 끼리 더하고.. 0,1끼리 더하고 ~~

코드 쓰기

2차원 벡터(?)에 값을 어떻게 넣지?

v.insert(v.begin() + index, data);

특정 인덱스에 값 넣는거… 이게 아니고ㅠㅠ

내 풀이

#include <string>
#include <vector>

using namespace std;

vector<vector<int>> solution(vector<vector<int>> arr1, vector<vector<int>> arr2) {
    vector<vector<int>> answer;
    
    int sizeX = arr1.size();
    int sizeY = arr1[0].size();
    
    for(int i=0; i<sizeX; i++){
        vector<int> v;
        for(int k=0; k<sizeY; k++){            
            v.push_back(arr1[i][k] + arr2[i][k]);
        }
        answer.push_back(v);
    }
    
    return answer;
}

풀고 나서 알게된 것

vector<vector<int>> answer; 이 뜻이 각 원소를 vector<int>로 가지는 vector라는 거니까
vector<int>를 만들어서 answer에 push_back 해 주면 된다.
vector[0].push_back 뭐 이런식으로 하려고 하니까 core dumped 오류가 났다.