본문 바로가기

알고리즘/Baekjoon

우선 순위 큐. [11286]

[1. 문제 설명]

특정 연산 수행 시, 절대 값이 가장 작은 순서대로 값을 출력

 

 

[2. 풀이 접근]

  1. 우선 순위 큐를 사용한다.
  2. 정렬에 대한 조건을 정의한다.
    => 예제를 보면, 늦게 들어간 -1 이 먼저 출력되었음
    => 절대값이 같은 경우, 작은 값이 먼저 출력되야 함.(최소 힙 특성)

 

 

[3. 코드]

 

 

[4. STL prioirty_queue]

 

compare 작성 가이드

기준과 반대되는 comparator 를 생각해야 함

  • 값이 클 수록 우선순위가 높은 경우
    => std::less<int>
    => 입력파라미터 기준 return Left < Right
    => 

  • 값이 작을 수록 우선순위가 높은 경우
    => std::greater<int>
    => 입력파라미터 기준 return Left > Right
    => 

  • 특정 기준으로 작성해야 하는 경우
    => bool operator()(MyType Left, MyType Right)  

'알고리즘 > Baekjoon' 카테고리의 다른 글

백 트래킹. [9663]  (0) 2022.09.09
우선 순위 큐. [1655]  (0) 2022.09.08
우선 순위 큐. [11279]  (0) 2022.09.06
이분 탐색. [2110]  (0) 2022.09.03
이분 탐색. [2805]  (0) 2022.09.03