프로그래밍/C, C++

[C++] 2차원 vector

daykim 2021. 11. 10. 15:38

프로그래머스 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

https://leeeegun.tistory.com/3

'프로그래밍 > 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