# PriorityQueue
PriorityQueue 정렬 방식을 언제 설정해야 할까?
PriorityQueue를 사용할 때 정렬 방식을 설정해주지 않고 사용하다가java.lang.ClassCastException 에러를 마주했다. PriorityQueue를 사용할 때 정렬 방식을 설정해줘야 하는 이유와,설정해주지 않아도 되는 경우에 대해서 알아보았다.다

Priority Queue란 무엇인가
최근에 알고리즘 공부를 본격적으로 시작하면서 자바의 다양한 자료구조를 사용할 일이 많아졌습니다. 그 중에서도 많은 알고리즘 문제가 우선 순위 큐를 통해 조금 더 쉽게 접근이 가능하다는 사실을 알았습니다. 저 또한 여러 문제를 우선 순위 큐를 사용해 해결하고 있는데요 우
PriorityQueue에 대해 이해해보자
PriorityQueuePriorityQueue는 두가지 정렬 방식이 존재한다.기본적으로 오름차순이고, 내림차순으로 설정할 수도 있다.오름차순으로 설정할 때는 아래와 같이 초기화하면 된다.PriorityQueue pQ = new PriorityQueue<>();내
[코테] 백준 1715번 카드 정렬하기
문제 링크 문제 > N개의 숫자 카드 묶음의 각각의 크기가 주어질 때, 최소한 몇 번의 비교가 필요한지를 구하는 프로그램을 작성하시오. 입력 >첫째 줄에 N이 주어진다. (1 ≤ N ≤ 100,000) 이어서 N개의 줄에 걸쳐 숫자 카드 묶음의 각각의 크기가 주어진다. 숫자 카드 묶음의 크기는 1,000보다 작거나 같은 양의 정수이다. 출력 > 첫째...
[Python] PriorityQueue
그 동안 우선순위 큐 문제를 만날 때마다 힙으로 구현했다. 그런데 파이썬에 우선순위큐를 패키지도 있다는 사실을 발견했다 !!! 🤡 사용법 > 1 2 3 4 메서드 > True: 비어있음 False: 남아있음 > int: 큐의 길이 예제 백준 1715 카드 정렬하기 여담 > TypeError: 'PriorityQueue' object is...
프로그래머스 Lv2 더 맵게
매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다.섞은 음식의 스코빌 지수
프로그래머스 Lv2 프린터
일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합
프로그래머스 Lv2 최솟값 만들기
길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다.배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록

C++:: 프로그래머스 <디스크 컨트롤러>
우선순위 큐를 원하는 대로 정렬하는 방법에 대해 알게되는 문제였다. 아래 예시와 같이 구조체에 operator함수를 만들어서 비교하는 방식으로 구현할 수 있다. 이외에도 문제자체가 좀 난해해서 다른 풀이들을 참조하였다. 여러번 풀면서 완전히 체득하는 편이 좋을것같아보이

C++:: 프로그래머스 <더 맵게>
우선순위 큐를 알고있다면 쉽게 풀 수 있는 문제이다.int main(void){ priority_queue pq;// 큰 값이 우선적으로 top에 있다. priority_queue<int, vector, greater> pq;// 작은 값이 우선적으로 top

우선순위 큐 (Priority Queue)
우선순위 큐 모든 데이터에 우선 순위가 있음 우선순위가 높은 데이터가 먼저 나옴 (선입선출 FIFO가 아님) Dequeue시, 우선순위가 높은 순으로 나감 우선순위가 에는 선입선출 PriorityQueue클래스를 이용하여 우선순위 큐를 구현 우선순위 큐(Priorit

[Java] PriorityQueue
PriorityQueue z 힙(HEAP) 특징 힙은 이진트리의 일종으로 반정렬 상태이며(정렬된 상태가 아님) 중복값을 허용한다. 트리구조 이기 때문에 삽입/삭제가 빠르다. O(logN) 보통 우선순위 큐가 힙으로 많이 구현되는데, 배열과 리스트보다 효율적이다. 힙

[프로그래머스] 더 맵게 (Java)
프로그래머스 더 맵게https://school.programmers.co.kr/learn/courses/30/lessons/42626모든 음식의 스코빌 지수를 K 이상으로 만든다.섞은 음식의 스코빌 지수는 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스
명예의 전당 (1)
"명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니

[백준] 16236 : 아기 상어 - JAVA
N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다.아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고
[BOJ] 11286번: 절댓값 힙 (python)
문제 링크 : 💡 해결 방법 파이썬 우선순위 큐를 사용하면 쉽게 해결되는 문제 절댓값이 작은 순서대로 출력하되, 절댓값이 같은 숫자가 있으면 음수 먼저 출력 이를 해결하기 위해 우선순위 큐에 정렬 기준을 새로 적용하여 사용 stack.put((abs(input),
[Java] 코딩테스트에서 Priority Queue 잘 사용하기
우선순위가 부여된 여러가지 데이터들 중에서 우선순위가 가장 높은 값을 간단하고 효율적이게 얻고 싶을 때 java.util 패키지에서 제공하는 PriorityQueue를 자주 사용한다. int와 String같이 자바에서 제공하는 자료형같은 경우에는 특별한 경우가 아

Python의 PriorityQueue(우선순위 큐)
파이썬의 PriorityQueue는 Queue와 같이 FIFO(First In First Out) 방법을 가지고 있고 내부적으로 데이터를 정렬된 상태로 보관하는 자료구조입니다. 이는 heapq 모듈을 통해 구현되어 있습니다.queue 내장 모듈 내 PriorityQue