💻 문제를 보기 전에 시간제한이나 메모리제한에 대해서 보고 가는게 좋다. 이번 문제는 메모리 제한이 적음을 확인하고 메모리를 많이 차지하지 않는 선에서 풀어야 했다.
메모리 제한이 12MB
이 부분을 간과하고 무조건 원소를 집어넣으면 메모리 초과가 날 수 있다.
N번 째로 큰 수를 찾아야 하기 때문에 queue
에 N개의 크기를 유지시켜준다.
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <queue>
#include <string.h>
using namespace std;
#define endl "\n"
priority_queue<int, vector<int>, greater<int> > q;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin >> N;
for (int i = 0; i < N;i++)
for (int j = 0; j < N;j++)
{
int num;
cin >> num;
q.push(num);
if(i>=1)
q.pop();
}
cout << q.top() << endl;
}