민여위-

[알고리즘] 코딩테스트 사전 준비 (c++ 기준) 본문

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
반응형
Comments