백준 2075번 N번째 큰 수

김두현·2023년 2월 4일
1

백준

목록 보기
91/135
post-thumbnail
post-custom-banner

🔒[문제 url]

https://www.acmicpc.net/problem/2075


🪄전체 코드

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

typedef long long ll;
int n;
//오름차순 정렬
priority_queue<ll,vector<ll>,greater<ll>> pq;

void INPUT()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    cin >> n;
    for(int i = 0; i < n*n; i++)
    {
        int num; cin >> num;
        pq.push(num);
        /*
        n번째로 큰 수는 어떤 수가 삽입되든 pq.top()으로부터 n개의 원소 내에 위치한다.
        따라서 n개 이상의 수가 삽입되면 즉시 pop 해준다.
        */
        if(pq.size() > n) pq.pop();
    }
}


void SOLVE()
{
    //pq에는 n개의 수가 남아있게 되고, 오름차순 정렬이므로 top에 n번째 큰 수가 위치한다.
    cout << pq.top();
}

int main()
{
    INPUT();
    SOLVE();
}

🥇문제 후기

GOLD5 미만 난이도는 알고리즘 및 풀이 설명을 주석으로 대체합니다.
주석을 참고해주세요.


💕오류 지적 및 피드백은 언제든 환영입니다. 복제시 출처 남겨주세요!💕
💕좋아요와 댓글은 큰 힘이 됩니다.💕
profile
I AM WHO I AM
post-custom-banner

0개의 댓글