일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 수학
- 트리
- 브루트포스
- 그리디 알고리즘
- 시뮬레이션
- 구현
- 투 포인터
- XR Interaction Toolkit
- Team Fortress 2
- 누적 합
- 자료구조
- 문자열
- 그래프
- VR
- 백트래킹
- Unreal Engine 5
- 유니온 파인드
- 우선순위 큐
- ue5
- 다익스트라
- 유니티
- 알고리즘
- BFS
- 백준
- DFS
- 재귀
- 다이나믹 프로그래밍
- c++
- 스택
- 정렬
- Today
- Total
목록자료구조 (54)
1일1알

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; enum { OPERAND, OPERATOR }; int GetType(char c) { if (c >= 'A' && c > str; stack st; for (int i = 0; i < str.length(); i++) { if (GetType(str[i]) == OPERAND) { cout

유니온 파인드를 이용했다. 지민이를 0이라고 하고 처음에 진실을 아는 사람들을 0과 같은 그룹으로 넣었다. 그리고 각 파티에 참여하는 사람들을 전부 같은 그룹에 넣었다. 그리고 다시 파티에 참여하는 사람들을 검사하면서 전부 0과 다른 그룹이면 거짓말을 할 수 있는 파티이다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; vector parent; vector height; int GetParent(int n) { if (..

스택을 이용해서 풀었는데 풀이법을 생각하는게 좀 까다로웠다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); string str; cin >> str; stack st; int ans = 0; int sum = 1; for (int i = 0; i < str.length(); i++) ..

작은거끼리 먼저 합칠수록 비교 횟수가 적어지기 때문에 우선순위 큐를 이용하여 제일 작은게 먼저 나오도록 해서 문제를 풀었다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); priority_queue pq; int n; cin >> n; for (int i = 0; i < n; i++)..

큐 자료구조를 이용하였다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; int back; queue q; while (n--) { string order; cin >> order; if (order == "push") { int x; cin >> x; ..

2번 연산을 수행하던 3번 연산을 수행하던 수행하는 횟수만 다르고 결과는 같다. 둘중 아무거나로 연산한 뒤에 연산결과, 큐 용량 - 연산결과 중 작은 것을 고르면 된다. 그래서 굳이 덱으로 만들지 않고 큐로 2번 연산만 수행해서 풀었다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ..