본문 바로가기
반응형

우선순위큐(PriorityQueue)3

[프로그래머스] 이중우선순위큐 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 의미한다. 명령어 수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 한다. 빈 큐에 데이터를 삭제하라는 연산이 주어질 경우, 해당 연산은 무시한다. 2. 풀이 PriorityQueue 를 이용한 문제 풀이 최대값을 위한 최대힙을 이용하여 PriorityQueue 로 나타낸다. 최소값을 위한 최소힙을 이용하여 Priority.. 2021. 11. 25.
[프로그래머스] 디스크 컨트롤러 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 작업의 요청부터 종료까지 걸린 시간이 가장 줄이는 방법으로 작업을 수행하여 각 작업의 요청부터 종료까지 걸린 시간의 평균을 return 한다. 2. 풀이 PriorityQueue 를 이용한 문제 풀이 작업의 소요시간을 오름차순으로 유지하기 위해 PriorityQueue 로 나타낸다. 작업의 요청시점을 오름차순으로 정렬 Arrays.sort(jobs, (o1, o2) -> o1[0] - o2[0]); 현재 시간 보다 작거나 같은 요청 시간 큐에 추가 큐에 작업이 없다면 작업 요청시점이 가장 빠른 작업 추가 큐에 작업이 있다면 작업 소요시간이 가장 빠른 작업 수행 3. 코드 import java.util.*; class Solut.. 2021. 11. 25.
[프로그래머스] 더 맵게 [JAVA(자바)] ‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀 문제 👉 1. 문제 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 한다. 섞은 스코빌 지수 = 가장 낮은 스코빌 지수 + (두 번째로 낮은 스코빌 지수 * 2) 2. 풀이 PriorityQueue 를 이용한 문제 풀이 음식의 스코빌 지수를 오름차순으로 유지하기 위해 PriorityQueue 로 나타낸다. 음식의 개수가 2개 미만이 되면 더이상 섞을 수 없으므로 -1을 리턴한다. PriorityQueue 를 통해 제일 작은 스코빌 지수가 K 보다 작으면 음식을 섞고 다시 PriorityQueue 에 추가한다. 3. 코드 import java.util.*; class Solution { public int .. 2021. 11. 25.
반응형