1) 입력받을 때 0의 개수를 세고 리스트에 포함된 수와 개수가 같다면 0 출력
2) 0만 입력받은 게 아니라면 sort를 사용하여 앞 숫자가 a, 뒷 숫자가 b라 할 때 ab와 ba를 비교하여 정렬
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
string arr[1001];
bool cmp(string a, string b) {
if (a == b)
return false;
string ab = a + b;
string ba = b + a;
if (ab > ba)
return true;
else
return false;
}
int main() {
ios_base::sync_with_stdio;
int n;
int zero = 0;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
if (arr[i] == "0")
zero++;
}
if (zero == n)
cout << 0;
else {
sort(arr, arr + n, cmp);
for (int i = 0; i < n; i++)
cout << arr[i];
}
return 0;
}
'PS > 백준' 카테고리의 다른 글
[C++] 백준 2178번: 미로 탐색 (0) | 2020.11.29 |
---|---|
[C++] 백준 1697번: 숨바꼭질 (0) | 2020.11.29 |
[C++] 백준 1676번: 팩토리얼 0의 개수 (0) | 2020.11.22 |
[C++] 백준 1929번: 소수 구하기 (0) | 2020.11.22 |
[C++] 백준 1654번: 랜선 자르기 (0) | 2020.11.22 |
댓글