P1008 - 성적 관리 프로그램 3 - 준랩 (joonlab.net)

 

로그인 - 준랩

 

joonlab.net

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii; // 첫 번째가 first, 두 번째가 second

bool cmp(pii a, pii b)
{
	// 만약 두 값이 같지 않으면
	// 내림차순이 목표이니 a를 반환
	if (a.first != b.first) {
		return a.first > b.first;
	}
	// 만약 두 값이 모두 같다면
	// 어느걸 반환해도 상관없다.
	else
	{
		return a.second < b.second;
	}
}

int main()
{
	// 학생의 수 n
	int n;
	// a[i].first: 학생의 평균, a[i].second: 학생 번호
	pii a[104];

	// 학생 수 입력 받기
	scanf("%d", &n);

	// n명의 학생 평균 구하기
	for (int i = 0; i < n; i++)
	{
		// 학생의 총점 저장 변수 sum
		int sum = 0;

		// 5개 과목 점수 받고 sum에 더해주기
		for (int j = 0; j < 5; j++)
		{
			int x;
			scanf("%d ", &x);
			sum += x;
		}

		// 학생별 평균 저장 배열에 평균 저장시키기
		a[i].first = sum / 5;

		// 학생 번호 입력 받기
		scanf("%d", &a[i].second);
	}

	// 내림차순으로 정렬하기
	sort(a, a + n, cmp);

	// 평균 순서대로 학생 번호 출력 하기
	for (int i = 0; i < n; i++)
	{
		printf("%d\n", a[i].second);
	}
}

+ Recent posts