본문 바로가기
백준 알고리즘

[백준][C++] 25305번 : 커트라인

by 탱글한푸딩 2024. 7. 27.
반응형

문제 바로가기 (이미지 클릭!!)


문제

2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 명의 학생들이 응시했다.

이들 중 점수가 가장 높은 명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.

커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.

입력

첫째 줄에는 응시자의 수 과 상을 받는 사람의 수 가 공백을 사이에 두고 주어진다.

둘째 줄에는 각 학생의 점수 가 공백을 사이에 두고 주어진다.

출력

상을 받는 커트라인을 출력하라.

제한


코드/풀이

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

bool Descending(int x, int y)
{
	return x > y;
}

int main()
{
	int N, K;
	cin >> N >> K;

	if (N < 1 || N > 1000 || K < 1 || K > N) return 0;

	vector<int> v(N);
	int input;
	for (int i = 0; i < N; i++)
	{
		cin >> input;

		if (input >= 0 && input <= 10000)
		{
			v[i] = input;
		}
		else
		{
			i--;
		}

	}

	sort(v.begin(), v.end(), Descending);

	cout << v[K - 1] << '\n';

	return 0;
}

sort 함수는 기본적으로 오름차순 정렬을 하지만 3번째 인자에 정렬을 어떤식으로 할지 정하는 함수를 넣을 수 있다.

함수를 사용하는 경우에는 두개의 매개변수를 불러오도록 선언한다면 sort함수에서 자동으로 값을 할당한다.

반응형