https://www.acmicpc.net/problem/10825
๋ฌธ์
๋ํ์ด๋ค ๋ฐ ํ์ N๋ช ์ ์ด๋ฆ๊ณผ ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ผ๋ก ํ์์ ์ฑ์ ์ ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
- ๊ตญ์ด ์ ์๊ฐ ๊ฐ์ํ๋ ์์๋ก
- ๊ตญ์ด ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์์ด ์ ์๊ฐ ์ฆ๊ฐํ๋ ์์๋ก
- ๊ตญ์ด ์ ์์ ์์ด ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์ํ ์ ์๊ฐ ๊ฐ์ํ๋ ์์๋ก
- ๋ชจ๋ ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์ด๋ฆ์ด ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก (๋จ, ์์คํค ์ฝ๋์์ ๋๋ฌธ์๋ ์๋ฌธ์๋ณด๋ค ์์ผ๋ฏ๋ก ์ฌ์ ์์ผ๋ก ์์ ์จ๋ค.)
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ํ์ด๋ค ๋ฐ์ ํ์์ ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ๊ฐ ํ์์ ์ด๋ฆ, ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค. ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๊ณ , ๊ธธ์ด๋ 10์๋ฆฌ๋ฅผ ๋์ง ์๋๋ค.
์ถ๋ ฅ
๋ฌธ์ ์ ๋์์๋ ์ ๋ ฌ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ํ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ๊ฑธ์ณ ๊ฐ ํ์์ ์ด๋ฆ์ ์ถ๋ ฅํ๋ค.
ํ์ด
#include <iostream>
using namespace std;
//arr[j] ์ arr[j+1] ์ ์๋ฆฌ๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ํจ์
void change(int arr[], int n){
int tmp = arr[n];
arr[n] = arr[n+1];
arr[n+1] = tmp;
}
//์ ํจ์์ string ๋ฒ์
void change(string arr[], int n){
string tmp = arr[n];
arr[n] = arr[n+1];
arr[n+1] = tmp;
}
int main(void) {
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
string name[n];
int kor[n], eng[n], math[n];
//์
๋ ฅ๋ฐ๊ธฐ
for(int i=0; i<n; i++){
cin >> name[i] >> kor[i] >> eng[i] >> math[i];
}
//์์๋๋ก ๋ฐฐ์ด
for(int i=0; i<n; i++){
for(int j=0; j<n-i-1; j++){
if(kor[j] < kor[j+1]){
change(kor, j);
change(eng, j);
change(math, j);
change(name, j);
}
else if (kor[j] == kor[j+1]){
if(eng[j] > eng[j+1]){
change(kor, j);
change(eng, j);
change(math, j);
change(name, j);
}
else if(eng[j] == eng[j+1]){
if(math[j] < math[j+1]){
change(kor,j);
change(eng,j);
change(math,j);
change(name,j);
}
else if(math[j] == math[j+1]){
if(name[j] > name [j+1]){
change(kor,j);
change(eng,j);
change(math,j);
change(name,j);
}
}
}
}
}
}
//์ถ๋ ฅ
for(int i=0; i<n; i++){
cout << name[i] <<"\n";
}
return 0;
}
์๊ฐ.. ์ด๊ณผ๋ ์ด๋ป๊ฒ ํด๊ฒฐํด์ผํ์งใ ใ ?
'๐๏ธ ICPC Sinchon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++][BOJ] ๋ฐฑ์ค 21316๋ฒ: ์คํผ์นด (0) | 2021.08.11 |
---|---|
[C++] ๋ฐฑ์ค 1448๋ฒ: ์ผ๊ฐํ ๋ง๋ค๊ธฐ (0) | 2021.07.26 |
[C/C++] ๋ฐฑ์ค 1158๋ฒ : ์์ธํธ์ค ๋ฌธ์ (0) | 2021.07.13 |
[C/C++] ๋ฐฑ์ค 10804๋ฒ : ์นด๋ ์ญ๋ฐฐ์น (0) | 2021.07.13 |
[C/C++] ๋ฐฑ์ค15552๋ฒ : ๋น ๋ฅธ A+B (0) | 2021.07.13 |