less than 1 minute read

42628. 이중우선순위큐 / c++ / level3 / 32분

문제 및 코드

접근 방식

구현 / 자료구조 / 힙 / 셋 (Set)

  1. 해당 요구사항에 맞게 자료구조를 구현하면 되는 문제였다.
  2. multiset을 사용해서 혹시 모를 중복에 대비하며, 자료를 입력과 동시에 정렬해줬다.
  3. D 1 의 경우 최대값을 삭제해야하므로 set 의 마지막 원소를 erase 해줬다.
  4. D -1 의 경우 최소값을 삭제해야하므로 set의 첫번째 원소를 erase 해줬다.
  5. 마지막으로 set이 비어있는 경우 0,0을, set의 원소가 1개인 경우 해당 원소를 두번 출력해줬다.
  6. set의 원소가 2개 이상인 경우 set 의 begin 과 end -1 을 출력해줬다.

생각해 볼 점

  1. 자료구조에 대한 이해가 있다면 set 혹은 priority_queue 등을 사용해서 쉽게 풀 수 있는 문제였던 것 같다.
  2. 지금 와서 생각해보니 출력을 set의 원소가 0 / 1 / 2 이상 인 3가지로 잡지 않고 set이 비어있거나, 비어있지 않은 2가지 경우로 잡아도 충분히 출력이 가능한 것 같다.

해시태그

#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL