[백준] 2075 C++

윤경·2021년 5월 18일
0

Baekjoon

목록 보기
40/64

#include <iostream>
#include <queue>
#include <vector>
using namespace std;

// N번째 큰 수

int main() {
  ios::sync_with_stdio(0);
  // 오름차순 우선순위 큐
  priority_queue<int, vector<int>, greater<int>> pq;

  int N, n;
  cin >> N;

  // 자꾸 틀리고 메모리 초과가 나서 N번째로 큰 수가 아니면
  // 나머지 수는 필요가 없기 때문에 버리기로 함
  for(int i=0; i<N*N; i++){
    cin >> n;
    if(pq.size() < N) pq.push(n);
    else { // N크기만큼 큐가 찼다면
      // 출력할 결과와 비교해 그 수보다 크다면 이미 있던 수를 꺼내고 새 수를 넣음
      if(pq.top() < n) { pq.pop(); pq.push(n); }
    }
  }

  cout << pq.top() << '\n';

  return 0;
}
profile
개발 바보 이사 중

0개의 댓글