https://www.acmicpc.net/problem/2075
풀이
n번째로 큰 수를 찾으면 되기 때문에 저장할 배열의 크기는 n이면 된다
우선 n개까지는 배열에 계속 넣어주다가,
n + 1번째 숫자부터는 배열 내에서 가장 작은 값과 비교해서 더 클 경우에 가장 작은 값을 빼고 입력받은 값을 넣어준다
이 과정을 반복하면 모든 입력이 끝났을 때 배열에서 가장 작은 값이 정답이다
제출 코드
#include <iostream>
#include <queue>
using namespace std;
priority_queue<int, vector<int>, greater<int>> q;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, input;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> input;
q.push(input);
}
for (int i = 0; i < n * (n - 1); i++)
{
cin >> input;
if (q.top() < input)
{
q.pop();
q.push(input);
}
}
cout << q.top();
}
'Programing > 백준, 프로그래머스(C++)' 카테고리의 다른 글
[C++][백준 5347] LCM (0) | 2025.01.27 |
---|---|
[C++][백준 2304] 창고 다각형 (0) | 2025.01.23 |
[C++][백준 1927] 최소 힙 (0) | 2025.01.21 |
[C++][백준 9375] 패션왕 신해빈 (0) | 2025.01.21 |
[C++][백준 1620] 나는야 포켓몬 마스터 이다솜 (0) | 2025.01.21 |