Algorithm/Sorting
BaekJoon 1205 등수 구하기
GirlFriend_Yerin
2018. 12. 31. 17:13
Link : https://www.acmicpc.net/problem/1205
소스 결과 : 1988KB / 0 ms
출처 : BackJoon
설명
Sorting 문제 구경중에 정답률이 생각보다 낮아서 풀어본 문제
알고리즘
1. 크기 n 의 벡터 생성
2. 내림차순 정렬
3. 기준 점수보다 큰 점수와 같은 점수 개수를 저장
4. 큰 점수 + 같은 점수 의 수가 랭킹 저장 수와 비교
5. 비교 값이 목표 커트라인보다 작으면 큰 점수 +1 아니면 -1
소스코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool comp(int x, int y)
{
return x > y;
}
int main()
{
int n;
int songScore;
int cut;
cin >> n >> songScore >> cut;
vector<int> vec(n);
for (int i = 0; i < n; i++)
{
int score;
cin >> score;
vec.push_back(score);
}
sort(vec.begin(), vec.end(), comp);
int bigger = 0;
int same = 0;
for (int i = 0; i < n; i++)
{
if (vec[i] > songScore)
bigger++;
else if (vec[i] == songScore)
same++;
else
break;
}
if (bigger + same < cut)
cout << bigger + 1;
else
cout << -1;
return 0;
}