List로 stack, queue(, priority queue)를 구현할 수 있다.
Memory pool (PS에 도움이 되는 technique)
예를 들어 Apple이라는 struct의 instance가 최대 100개까지만 필요하다면 (문제에 명시되어 있다면),
필요할 때마다 메모리를 할당했다 지우는 것보다 미리 할당해놓고 계속해서 재사용하자는 것이 memory pool의 핵심.
struct Apple {
int age;
} apple[100];
int apple_idx;
void init() {
apple_idx = 0;
}
Apple* make_apple(int age) {
apple[apple_idx].age = age;
return &apple[apple_idx++];
}
int main() {
int T, apple_idx;
cin >> T;
for (int test_case = 1; test_case <= T; test_case++) {
init();
...
Apple *a1 = make_apple(1);
Apple *a2 = make_apple(2);
...
}
return 0;
}
'Problem Solving > SW Expert Academy' 카테고리의 다른 글
Merge / Quick Sort & Binary Search (0) | 2022.01.23 |
---|---|
그리디 & 완전 탐색 & DP (0) | 2022.01.21 |
Is it necessary to get a bachelor of Computer Science to become a software engineer? (0) | 2022.01.18 |
Bit operation & Bit mask (0) | 2022.01.18 |
문제를 풀기 전 주의해야 할 몇 가지 (0) | 2022.01.18 |
댓글