본문 바로가기

Algorithm/Sorting

BaekJoon 1205 등수 구하기

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