목록우선 순위 큐 (2)
알고리즘 모음(C++)
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/njhtB/btrs72KqStd/4SKKkeyeBsB3gJanmn8fQk/img.png)
문제 링크입니다. https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 우선순위 큐를 이용하는 문제입니다. 오름차순을 저장하는 큐, 내림차순을 저장하는 큐를 모두 만들어주면 됩니다. 최솟값과 최댓값을 경우에 따라 제거해야 합니다. 이때 큐를 하나만 만들어서 구현을 하면 연산의 갯수가 너무 많기에 시간 초과가 생깁니다. 따라서 오름차순, 내림차순을 저장하는 큐를 만들어 각각 관리해줘야 합니다. (221 , 221 , 15 , 13 , 100 , -..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bTYXiB/btrkoH8oHeR/xkKA6MZTpMVniBYKWyGyH0/img.png)
문제 링크입니다. https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 우선순위 큐를 사용하면 쉽게 풀 수 있는 문제였습니다. 우선순위 큐를 선언하여 문제 조건에 맟게 출력만 해주면 되는 문제입니다. 오름차순으로 정렬을 해야하기에, 내림차순과는 다르게 선언을 해줘야합니다. int N; priority_queue qu; int main() { cin.tie(0); cout.tie(0); cin >> N; for (int i = 0;..