프로그래머스 level1의 행렬의 덧셈 문제를 풀다 찾게 되었다.
vector<vector<int>> v;
위와 같이 선언시 2차원 벡터를 사용할 수 있다.
v[0][0] = 5;
와 같이 바로 사용하면 에러가 발생한다.
크기가 할당되지 않았기 때문일까..? 더 찾아봐야겠다.
vector<vector<int>> v;
vector<int> vec;
v.push_back(vec);
위와 같은 형태로 자료형에 맞게 넣어줘야한다.
위와같이 넣어준 후 2차원 배열과 같은 방식으로 벡터에 접근할 수 있게 된다고 한다.
혹은
vector<vector<int>> v(10, vector<int>(10, 0);
위와 같이 초기화를 한 후 2차원 벡터로 접근하여 값을 변경하도록 해야한다.
참고 URL
'프로그래밍 > C, C++' 카테고리의 다른 글
[c++] vector 중복 제거 (0) | 2021.12.20 |
---|---|
Bitmask (0) | 2021.12.14 |
[STL] Stack (0) | 2021.08.07 |
[STL] Queue (0) | 2021.08.07 |
리터럴 접미사 (0) | 2021.08.07 |