game-1 님의 블로그

[백준] 2075번 N번째 큰 수 C++ 본문

백준 문제풀이

[백준] 2075번 N번째 큰 수 C++

game-1 2025. 2. 3. 19:15

 

풀이)

여기서 N번째 수를 구하는데 제한이 상당히 까다롭다.

시간 제한 1초와 메모리제한도 있기 때문에 수를 저장하여 정렬하여 푸는 방식은 사용하지못한다.

따라서, 이경우에우선순위 큐를 사용하여 문제를 해결하였다. 

 

 

코드)

 

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

int main()
{
	cin.tie(0);
	ios::sync_with_stdio(0);

	int n;
	cin >> n;

	priority_queue<int, vector<int>, greater<int>> pq;


	for (int i = 0; i < n * n; ++i) {
		int x;
		cin >> x;
		pq.push(x);

		if (pq.size() > n) pq.pop();
	}

	cout << pq.top();



}