λ¬Έμ
λνμ΄λ€ λ° νμ Nλͺ μ μ΄λ¦κ³Ό κ΅μ΄, μμ΄, μν μ μκ° μ£Όμ΄μ§λ€. μ΄λ, λ€μκ³Ό κ°μ 쑰건μΌλ‘ νμμ μ±μ μ μ λ ¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
- κ΅μ΄ μ μκ° κ°μνλ μμλ‘
- κ΅μ΄ μ μκ° κ°μΌλ©΄ μμ΄ μ μκ° μ¦κ°νλ μμλ‘
- κ΅μ΄ μ μμ μμ΄ μ μκ° κ°μΌλ©΄ μν μ μκ° κ°μνλ μμλ‘
- λͺ¨λ μ μκ° κ°μΌλ©΄ μ΄λ¦μ΄ μ¬μ μμΌλ‘ μ¦κ°νλ μμλ‘ (λ¨, μμ€ν€ μ½λμμ λλ¬Έμλ μλ¬Έμλ³΄λ€ μμΌλ―λ‘ μ¬μ μμΌλ‘ μμ μ¨λ€.)
μ λ ₯
첫째 μ€μ λνμ΄λ€ λ°μ νμμ μ N (1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° ν μ€μ νλμ© κ° νμμ μ΄λ¦, κ΅μ΄, μμ΄, μν μ μκ° κ³΅λ°±μΌλ‘ ꡬλΆν΄ μ£Όμ΄μ§λ€. μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€. μ΄λ¦μ μνλ²³ λμλ¬Έμλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄μ΄κ³ , κΈΈμ΄λ 10μ리λ₯Ό λμ§ μλλ€.
μΆλ ₯
λ¬Έμ μ λμμλ μ λ ¬ κΈ°μ€μΌλ‘ μ λ ¬ν ν 첫째 μ€λΆν° Nκ°μ μ€μ κ±Έμ³ κ° νμμ μ΄λ¦μ μΆλ ₯νλ€.
νμ΄
sortλ₯Ό μ΄μ©ν΄ μ λ ¬μ ν΄μ£Όλλ° μ΄λ Compare comp λ₯Ό μ μ€μ ν΄μ£Όλ©΄ μ½κ² νμ΄ν μ μλ€.
bool cmp(student a, student b) {
if(a.kor == b.kor) {
if(a.eng == b.eng) {
if(a.math == b.math) {
return a.name < b.name;
}
return a.math > b.math;
}
return a.eng < b.eng;
}
return a.kor > b.kor;
}
λ§ κ·Έλλ‘ νΌλ€λ©΄ μ΄λ κ² κ΅¬νμ΄ κ°λ₯νκ² μ§λ§...
보기 λ무 μμ’λ€
bool cmp(student a, student b) {
if(a.kor != b.kor) return a.kor > b.kor;
if(a.eng != b.eng) return a.eng < b.eng;
if(a.math != b.math) return a.math > b.math;
else return a.name < b.name;
}
κ° μ μκ° λ€λ₯Έ κ²½μ°μ 쑰건μ μ²λ¦¬ν΄μ£Όλλ‘ λ°κΎΈλ©΄ μ½λκ° λμ± κΉλν΄μ§λ€
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct student {
string name;
int kor, eng, math;
};
bool cmp(student a, student b) {
if(a.kor != b.kor) return a.kor > b.kor;
if(a.eng != b.eng) return a.eng < b.eng;
if(a.math != b.math) return a.math > b.math;
else return a.name < b.name;
}
int main() {
int n;
cin >> n;
vector<student> v(n);
for(int i=0; i<n; i++) cin >> v[i].name >> v[i].kor >> v[i].eng >> v[i].math;
sort(v.begin(), v.end(), cmp);
for(int i=0; i<n; i++) cout << v[i].name << "\n";
return 0;
}
/*
*/
'ποΈ ICPC Sinchon > Sorting' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ S1][C++] λ°±μ€ 1946λ² : μ μ μ¬μ (0) | 2022.09.06 |
---|---|
[BOJ S4][C++] λ°±μ€ 1026λ² : 보물 (0) | 2022.09.06 |
[BOJ S3][C++] λ°±μ€ 1431λ² : μλ¦¬μΌ λ²νΈ (0) | 2022.09.06 |
[BOJ S4][C++] λ°±μ€ 1758λ² : μλ°μ κ°νΈ (0) | 2022.09.06 |
[BOJ S5][C++] 11651λ²: μ’ν μ λ ¬νκΈ° 2 (0) | 2022.09.06 |