일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬
- 깊이우선탐색
- 이분탐색
- priority_queue
- 유클리드호제법
- N과M
- DFS
- 배열
- map
- 백트래킹
- DP
- 에라토스테네스의 체
- Set
- 티스토리챌린지
- C++
- Sort
- 백준
- int
- 분할정복
- 최소공배수
- vector
- 문자열
- 프로그래머스
- 우선순위큐
- 오블완
- stoi
- 다이나믹프로그래밍
- BFS
- 그래프
- 알고리즘
- Today
- Total
목록우선순위큐 (2)
안녕 세상아,
https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 프린트의 중요도가 큰 순서대로 출력해야하기 때문에 우선순위큐를 사용해야한다. 우선 queue의 pair를 사용하여 위치값과 중요도를 입력 받는다. 동시에 우선순위큐에 중요도를 입력 받는다. 이렇게 되면 우선순위큐에 중요도가 내림차순 형식으로 정렬된다. 내림차순으로 정렬된 우선순위큐의 top과 일반 큐의 중요도가 일치할 때와 일치하지 않을 경우를 나눈다. 일치할 때 cnt++를 하고 현재 위치값이 입력..
우선순위 큐란? 일반적인 큐와 달리 선입선출 구조가 아닌 큐에 있는 모든 원소 중에서 가장 큰 값이 top을 유지하도록, 우선순위가 가장 크도록 설계되어있다. 또한 내부적으로 heap이라는 자료구조를 사용하고있다. #include 선언해야한다. 기본 메소드 push() : 우선순위 큐에 원소를 추가한다 pop() : 우선순위 큐에서 top의 원소를 제거한다 top() : 우선순위 큐에서 top에 있는 원소 즉 우선순위가 높은 원소를 반환한다. empty() : 우선순위 큐가 비어있으면 true를 반환하고 그렇지 않으면 false를 반환한다 size() : 우선순위 큐에 포함되어 있는 원소의 수를 반환한다 기본 자료형 사용법 #include #include using namespace std; ..