일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트래킹
- 다익스트라
- 우선순위 큐
- 재귀
- 문자열
- 유니티
- Team Fortress 2
- Unreal Engine 5
- 시뮬레이션
- 유니온 파인드
- 누적 합
- 투 포인터
- XR Interaction Toolkit
- 알고리즘
- 정렬
- BFS
- 백준
- 그래프
- 자료구조
- VR
- DFS
- c++
- 그리디 알고리즘
- 수학
- 다이나믹 프로그래밍
- 스택
- 트리
- 구현
- ue5
- 브루트포스
- Today
- Total
목록우선순위 큐 (17)
1일1알

우선순위 큐를 사용해서 bfs를 돌렸다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int n; vector board; vector found; int dRow[4] = { -1,0,1,0 }; int dCol[4] = { 0,1,0,-1 }; struct Info { pair pos; int penalty; bool operator(const Info& other) const { return penalty >..

앞에 벽이 있거나 없는 경우가 있다. 있으면 벽을 부수고 없으면 그냥 간다. 구해야 하는 답은 벽을 최소 몇 개 부수어야 하는지 이기 때문에 bfs로 탐색할 때 벽을 부순 횟수가 가장 적은 경우가 가장 앞에 있어야 한다. 그렇기 때문에 우선순위 큐를 사용해서 bfs를 통해 풀었다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int n, m; int dRow[4] = { -1,0,1,0 }; int dCol[4] ..

작은거끼리 먼저 합칠수록 비교 횟수가 적어지기 때문에 우선순위 큐를 이용하여 제일 작은게 먼저 나오도록 해서 문제를 풀었다. #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 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; int dasom; int cnt = 0; cin >> n; cin >> dasom; for (int i = 1; i > vote; pq.push(v..

스택 자료구조를 사용하여 해결할 수 있는 문제이다. 문제를 풀고 다른 사람들의 풀이법을 보니 많은 사람들이 스택을 쌓으면서 답을 구해서 문제를 해결하였다. 나의 풀이법은 스택을 전부 쌓은 뒤에 제거해나가면서 문제를 해결하는 방법이다. 스택을 쌓으면서 문제를 해결하는 방법이 훨씬 간단하고 효율적인 방법인 것 같다. 접근을 잘못해서 풀이가 복잡하고 푸는데 오랜 시간이 걸린 것 같다. #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; struct compare { bool operator()(..