문제 링크
요약
- 다시 풀어볼것
최종
결과
- 이 문제의 key idea는:
- 두 수
a와b에 대해, concat한 결과(ab,ba) 중 어떤게 더 큰가를 가지고 정렬하면 된다.
- 두 수
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<int> numbers) {
vector<string> num_str;
string ret = "";
for (auto n : numbers) {
num_str.push_back(to_string(n));
}
sort(num_str.begin(), num_str.end(), [](auto &a, auto &b) {
return a + b > b + a;
});
for (auto &n : num_str) {
ret += n;
}
for (int i = 0; i < ret.size(); i++) {
if (ret[i] != '0') {
return ret;
}
}
return "0";
}- Corner case는 모든 문자가
'0'이면"0"을 return 해야된다는거다.
