본문 바로가기

우선순위큐7

[백준 1966] 프린터 큐 https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 약한 유형이어서 정리해본다. 문제의 핵심: 큐가 2개 필요하다. 1) 순서를 저장하기 위해 필요한 큐 2) 주어진 값들 중 최댓값을 찾기 위한 우선순위 큐 문제의 조건에서 선택되지 못한 숫자는 맨 마지막 열에 다시 합류하므로 이 순서를 저장할 큐가 필요하며 주어진 숫자 중 최댓값을 매번 찾아야 하므로 우선순위 큐가 필요하다. 접근법: 큐에는 인덱스와 값을 우선순위 큐에는 값만 저장한다. 1. IF 우.. 2021. 11. 11.
[프로그래머스:고득점kit] 이중우선순위큐 https://programmers.co.kr/learn/courses/30/lessons/42628 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 레벨: 3 문제 요약: 스트링을 입력받아서 - I 숫자: 삽입 - D -1 : 최솟값 삭제 - D 1 : 최댓값 삭제 를 진행한 후 [최댓값, 최솟값] 배열을 리턴한다. 없는 경우 [0,0]을 리턴한다. 문제 풀이: 제목이 우선순위큐인만큼 우선순위큐를 사용한다. 최대힙과 최소힙을 선언한 후 I가 들어온다면 힙 모두에 삽입을 한 후 숫자를 카운트한다. cnt를 사용해서 동기화를 진행한다. #include using namespace std; vector solution(vector operations) { vector answer; prio.. 2021. 9. 20.
[백준 1655] 가운데를 말해요 www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 중간값 찾기 알고리즘을 사용한다. maxHeap과 minHeap이 필요해서 우선순위큐를 사용한다. 두 힙은 다음과 같은 규칙을 따른다. 1. maxHeap은 minHeap의 크기와 같거나 1만큼 크다. 2. maxHeap의 탑은 minHeap의 탑보다 작거나 같다. 만약 이를 만족시키지 못하면 둘을 바꾼다. 이렇게 하면 maxHeap의 탑이 항상 중간값임을 알 수 있다. 신기방기.. 예제에 적용.. 2021. 1. 14.
[백준 19640] 화장실의 규칙 www.acmicpc.net/problem/19640 19640번: 화장실의 규칙 위와 같이 줄을 선 경우를 생각해보자. (x, y) 는 사원의 근무 일수가 x, 화장실이 급한 정도가 y임을 나타낸다. [x, y]는 해당 사원이 데카임을 의미한다. 즉, 위의 그림에서 데카는 3번 사원이다. www.acmicpc.net 우선순위 큐를 사용하는 문제이다. eazymean.tistory.com/99 [c++] STL priority_queue 우선순위 큐 c++ STL 중 하나인 우선순위 큐에 대해 알아보자. 큐와 동일하지만 안에서 정렬이 된다는 점이 다르다. - 헤더는 #include - 선언은 priority_queue pq -.. eazymean.tistory.com 화장실 줄이 m개이고 각 줄의 맨 앞.. 2020. 12. 28.