C++ STL
vector
: 배열(array)와 비슷하게 사용가능
map
map<string, int> m;
m['jiwon'] = 1;
unordered_map
- map에서 정렬이 되어 있지 않은 버전 -> 더 빠르다
set
queue
알고리즘 종류
TIP
1억(10^8) == 1초
로 알고리즘의 속도를 판별해 볼 수 있다.
- 틀리는 경우에는 자료형의 크기 / 특이값 input 등에 대해 생각해보자
- 오름차순 정렬 코드
struct compare
{
bool operator()(pii a, pii b)
{
return a.second > b.second;
}
};
bool operator<(edge &e)
{
return this->dist < e.dist;
}
bool compare(edge a, edge b)
{
return a.dist < b.dist;
}
class edge
{
public:
int node[2];
int dist;
edge(int a, int b, int dist)
{
this->node[0] = a;
this->node[1] = b;
this->dist = dist;
}
};
vector.push_back(edge(a, b, dist));
주의
에라토스테네스의 체
는 여러 개의 숫자에 대해서 소수를 판별해야 할 때 유용하다. 하지만 지나치게 큰 숫자의 경우 (ex - 10^12)에는 배열이 너무 커지기 때문에 메모리 초과가 발생할 수 있다는 점을 염두에 두어야 한다.
- 관련 문제 : k진수에서 소수 개수 구하기 (2022 KAKAO BLIND RECRUITMENT)