[BOJ] 1205 등수 구하기

GirlFriend-Yerin·2020년 8월 26일
0

알고리즘

목록 보기
10/131

Note

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;
}

2018-12-31 17:13:52에 Tistory에서 작성되었습니다.

profile
개발할때 가장 행복한 개발자입니다.

0개의 댓글