본문 바로가기
  • soobinhand의 기술 블로그
728x90

우선순위큐2

[JAVA] Priority Queue Priority Queue 우선순위 큐는 먼저 들어온 순서대로 데이터가 나가는 것이 아닌 우선순위를 먼저 결정하고 우선순위가 높은 원소가 먼저 나가는 자료구조입니다. 보통 힙을 이용하여 구현하는 것이 일반적입니다. PriorityQueue pq = new PriorityQueue(); PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); 첫 줄은 낮은 숫자 순, 두번째 줄은 높은 숫자순 우선순위 큐입니다. 메소드 종류 add(), offer() 우선순위 큐에 요소를 삽입합니다. 넣어지면서 동시에 정렬도 알아서 합니다. clear() 우선순위 큐의 모든 요소를 삭제합니다. contains(값) 해당 큐에 값이 있다면 true를 반환합니다. p.. 2021. 10. 30.
[프로그래머스] 더 맵게 - JAVA [프로그래머스] 더 맵게 - JAVA 이 문제는 가장 작은 두 수를 뽑으라는 말을 보자마자 우선순위 큐를 생각했습니다. 우선순위 큐는 큐와 다르게 FIFO 방식이 아니라 우선순위가 높은 원소가 먼저 제거되는 큐입니다. 우선순위가 가장 높은 값 = 스코빌 지수가 가장 낮은 값 우선순위가 그 다음으로 높은 값 = 스코빌 지수가 두번째로 낮은 값 을 대입해서 연산을 진행합니다. 원래의 값을 새로운 값으로 대체해야하므로 peek()이 아닌 poll()을 사용합니다. public int solution(int[] scoville, int K) { int answer = 0; PriorityQueue queue = new PriorityQueue(); for (int i : scoville){ queue.offer.. 2021. 10. 29.
728x90