본문 바로가기
코테/정렬

[C/C++] 나동빈 성적이 낮은 학생 순서대로 출력하기, 정렬

by 상똥 2023. 3. 1.

문제

첫째 줄에 학생의 수 N이 입력된다. 두 번째 줄부터 N+1번째 줄까지 학생의 이름을 나타내는 문자열 A와 학생의 성적을 나타내는 정수 B가 입력된다. 문자열A의 길이와 학생의 성적은 100이하의 자연수이다. 성적이 낮은 순서대로 학생의 이름을 출력하라

코드

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main() {
	int N, b;
	string a;
	vector<pair<int, string>> score;
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin >> a >> b;
		score.push_back({ b, a });
	}

	sort(score.begin(), score.end());

	for (int i = 0; i < N; i++)
		cout << score[i].second << " ";
}