일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- ue5
- 유니온 파인드
- 유니티
- 다이나믹 프로그래밍
- 브루트포스
- 우선순위 큐
- 수학
- 다익스트라
- XR Interaction Toolkit
- 백트래킹
- 스택
- 문자열
- 투 포인터
- 정렬
- 알고리즘
- BFS
- 그래프
- DFS
- 그리디 알고리즘
- c++
- 트리
- 누적 합
- 시뮬레이션
- VR
- Unreal Engine 5
- 자료구조
- 백준
- 재귀
- Today
- Total
목록큐 (6)
1일1알
https://www.acmicpc.net/problem/14713 14713번: 앵무새 자가용 비행기를 타고 세계 일주를 하던 pps789와 cseteram은 어느 날 엔진 고장으로 인해 이름 모를 섬에 불시착하게 된다. 그들은 이 섬을 탐험하는 도중 아주 신기한 사실을 알게 되었는데, 바로 www.acmicpc.net 단어들이 순서대로 맞춰졌는지와 모든 단어가 사용되었는지 있는지 확인해야한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int..

큐 자료구조를 이용하였다. #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); ..

처음에 큐에 1~n을 다 넣고 계속 빼다가 k번째로 빼는 경우는 정답을 저장하는 배열에 넣고 아니면 큐에 다시 넣었다. #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, k; cin >> n >> k; queue q; vector ans; for (int i = 1; i

뱀이 이동할 때마다 위치를 큐에 넣고, 보드의 정보를 갱신해준다. 만약 이동한 위치에 사과가 없다면 몸의 크기는 그대로 유지해야 하기 때문에 pop을 해주고 pop한 위치를 아무것도 없는 칸으로 바꿔준다. 사과가 있다면 몸의 크기가 늘어나기 때문에 pop을 하지 않고 진행하면 된다. 그리고 회전 정보를 이용하여 뱀을 회전시키고, 다음 위치가 자신의 몸이거나 벽이면 반복문을 종료한다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int n, k, l; vector bo..

아직 다리 위에 올라가지 않은 트럭을 저장하는 큐와 다리 위에 올라간 트럭을 저장하는 큐 이렇게 큐를 두 개 만들어서 while문 안에서 시간을 1씩 증가시키면서 1초마다 할 수 있는 가장 효율적인 행동을 찾아가면서 문제를 해결하였다. 다리 위에 올라간 트럭을 저장하는 큐는 pair 형식으로, 트럭의 무게와 다리 위에 올라간 시간을 저장하였다. 그리고 트럭이 모두 도착하면 while문을 종료하였다. #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; queue ready; ..