[STL] 2차원 벡터와 맵(해시테이블)
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> v(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> v[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << v[i][j] << " ";
}
cout << '\n';
}
}
C++
복사
v.resize(n, vector<int>(m));
int main() {
int n, m;
cin >> n >> m;
v.resize(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> v[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << v[i][j] << " ";
}
cout << '\n';
}
}
C++
복사
matrix_t 으로 선언할 경우
typedef vector<vector<int>> matrix_t;
matrix_t v;
int main() {
int n, m;
cin >> n >> m;
v.resize(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> v[i][j];
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cout << v[i][j] << " ";
}
cout << '\n';
}
}
C++
복사
2차원 벡터의 사이즈
vector<vector<int>> arr = { {1, 2, 3}, {4, 5, 6} };
// 행 (row)
int row_count = arr.size(); // result: 2
// 열 (column)
int col_count = arr[0].size(); // result: 3
C++
복사
HashMap
#include <map>
#include <utility>
int main() {
map<int, string> mymap;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
int num;
cin >> num;
string str;
cin >> str;
mymap[num] = str;
}
for (auto item: map) {
cout << item.first << ": " << item.second << '\n';
}
}
C++
복사