본문 바로가기
프로그래머스 C++

프로그래머스 이중 우선 순위 큐 C++

by Srff5123 2025. 1. 13.
728x90

이중 우선순위 큐는 다음연산을 할 수 있는 자료구조를 뜻한다

대문자 I 숫자  :  큐에  주어진 숫자를 삽입하고 

D 1                  :  큐에서 최댓값을 삭제

D-1                  :  큐에서 최솟값을 삭제

 

큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있다면 {0,0}을 비어있지 않다면

{최댓값, 최솟값}을 반환한다

 

operations에는 큐가 수행할 연산이 주어지며 빈 큐에 데이터를 삭제하라는 연산은 무시한다

 

최대값과 최솟값을 받아줄 우선순위 큐를 두개 선언하고

unordered_map으로 숫자 삽입과 삭제 여부를 기록해준다

 

operations에 있는 문자열을 반복문을 통해 istringstream으로 공백을 기준으로 문자와 숫자를 잘라주고

if문을 이용해  I D D-1을 조건을 설정해 큐에 대한 연산을 진행하여준다.

 

 

728x90