Tech
[알고리즘] 코딩테스트 사전 준비 (c++ 기준)
꿀땡이
2021. 10. 1. 18:19
728x90
반응형
개인적으로 활용하기 위해 만든 코딩테스트에 자주 쓰이는 자료구조
1. Vector
#include <vector> // 벡터 사용
vector<int> vecArr;
vecArr.push_back(1); // 벡터 마지막 원소에 1 삽입
vecArr.pop_back(); // 벡터 마지막 원소 삭제
vecArr.front();
vecArr.back();
vecArr.erase(vecArr.begin(), vecArr.begin() + 2); // 벡터 첫번째 원소부터 두번째 원소까지 삭제
vecArr.reserve(n); // 미리 벡터 동적할당
vecArr.empty(); // 벡터가 비었으면 true return
vecArr.capacity(); // 벡터 할당된 공간 크기 리턴
vecArr.size(); // 벡터 사이즈 리턴, capacity랑 다름
// iterator를 통한 반복
for (auto it = vecArr.begin(); it != vecArr.end(); ++it) { *it }
for (int num : vecArr) {}
2. Map
#include <map>
map<int, int> map;
map.insert(make_pair(1, 3)); // key 값 : 1 , value : 3
for (auto it = map.begin(); it != map.end(); ++it) {
cout << "key : " << it->first << " value : " << it->second << '\n';
}
map.find(5)->second // 5인 원소 찾기
map.erase(5); // 5인 원소 삭제
3. Queue
#include <queue>
queue<int> q;
q.push(1);
q.pop();
q.front();
q.back();
q.size();
q.empty() ? "Yes" : "No"
4. Priority Queue
#include <queue>
#include <functional> // greater, less
priority_queue<int> pq; // priority_queue<int, vector<int>, less<int>> pq; -> maxheap, 가장 큰 값부터 출력
priority_queue<int, vector<int>, greater<int>> pq; // mixheap, 가장 작은 값
pq.push(1);
pq.size();
pq.empty();
pq.top();
pq.pop();
5. Stack
#include <stack>
stack<int> stack;
stack.push(1);
stack.pop();
stack.empty();
728x90
반응형