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;
}
'Algorithm > Sorting' 카테고리의 다른 글
Baekjoon 10825 국영수 (0) | 2019.08.23 |
---|---|
Baekjoon 1181 단어 정렬 (0) | 2019.08.22 |
BaekJoon 10989 수 정렬하기 3 (0) | 2019.01.12 |
BaekJoon 1026 보물 (0) | 2019.01.12 |
BaekJoon 1427 소트인사이드 (0) | 2018.12.31 |