본문 바로가기

CodingTest Exam/[C++] Algorithm Study

25. 석차 구하기 (it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비) ★★☆☆☆

#include<stdio.h>
#include<vector>

using namespace std;
int main()
{
	int n;
	scanf("%d", &n);
	
	vector<int> scores(n+1);
	for(int i = 1; i < n+1; i++)
		scanf("%d", &scores[i]);
	
	vector<int> rank(n+1, 1);
	
	for(int i = 1; i < n+1; i++)
	{
		for(int j = 1; j < n+1; j++)
		{
			if(scores[i] > scores[j])
				rank[j]++;
		}	
	}
	
	for(int i = 1; i < n+1; i++)
		printf("%d", rank[i]);
	
}

1. 1부터 n+1 까지의 int 형태의 vector scores(n+1)을 선언 후 입력값을 받는다.

2. 원소가 모두 1인 n+1 크기의 vector answer(n+1, 1)을 선언한다.

3. 이중 for문을 돌면서 scores[i]가 비교군보다 크면 그 비교군의 rank을 +1 한다.