반응형
728x170
어렵지 않다.
그냥 풀면되는데..
Compare 함수에 익숙하지 않다면 어려울 수도 있다.
https://www.acmicpc.net/problem/10825
#맞은 풀이
#include <bits/stdc++.h>
using namespace std;
//구조체
struct Student{
string name;
int korean;
int english;
int math;
};
//구조체 벡터
vector<Student> vec;
int N;
//감소하는 순 (참조자로 받는다 -> 시간 단축)
bool comp(const Student &stA, const Student &stB){
//가장 밑에 첫번째 기준을 써놓고
if(stA.korean == stB.korean){
if(stA.english == stB.english){
if(stA.math == stB.math){
//마지막 기준
return stA.name < stB.name;
}
//세 번째 기준
return stA.math > stB.math;
}
//두 번째 기준
return stA.english < stB.english;
}
//첫 번째 기준
return stA.korean > stB.korean;
}
int main(){
cin >> N;
for(int i = 0; i<N; i++){
Student a;
cin >> a.name >> a.korean >> a.english >> a.math;
vec.push_back(a);
}
sort(vec.begin(), vec.end(), comp);
for(auto x : vec){
cout << x.name << '\n';
}
return 0;
}
어렵다기보다는.. 그냥 시간이 걸린다.
728x90
반응형
그리드형
'문제풀이(Problem Solving)' 카테고리의 다른 글
백준, BOJ, 2589번, 보물섬 : C++ [CPP] ★★ (0) | 2022.02.15 |
---|---|
백준, BOJ, 20291번, 파일 정리 : C++ [CPP] ★ (0) | 2022.02.08 |
백준, BOJ, 1759번, 암호만들기 : C++ [CPP] ★★★★ (0) | 2022.02.08 |
백준, BOJ, 1182번 C++ [CPP] ★★ (4) | 2022.02.08 |
백준, BOJ, 14888번, 연산자 끼워넣기 C++ [CPP] (0) | 2022.02.08 |