#include <bits/stdc++.h>
#define FASTIO ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define INF 987654321
using namespace std;
int N,M;
vector <string> v;
bool compare(string a, string b) {
if (a.length() == b.length()) {
for (int i = 0; i < a.length(); i++) {
if (a[i] == b[i])
continue;
else
return a[i] < b[i];
}
return a.length() < b.length();
}
else
return a.length() < b.length();
}
int main() {
FASTIO;
string str,bf;
cin >> N;
for (int i = 0; i < N; i++) {
cin >> str;
v.push_back(str);
}
sort(v.begin(), v.end(),compare);
cout << v[0] ;
bf = v[0];
for (int i = 1; i < N; i++) {
if (v[i] == bf)
continue;
else {
cout << "\n" << v[i];
bf = v[i];
}
}
}
sort의 compare 함수를 직접 만들어 주면 되는 문제이다 .
11650 좌표 정렬하기와 비슷한 문제이다.
'백준' 카테고리의 다른 글
[백준 1463] 1로 만들기 C++ (2) | 2021.10.09 |
---|---|
[백준 17498] 폴짝 게임 (0) | 2021.10.05 |
[백준 22983 ] 조각 체스판 (0) | 2021.10.04 |
[백준 14267] 회사문화 1 (0) | 2021.10.04 |
[백준 1149] RGB 거리 (0) | 2021.10.02 |