#include <iostream>
#include <string>
#include <vector>
#include <algorithm> // sort
using namespace std;
vector<string> n;
bool compare(string &a, string &b){
return a + b > b + a;
}
string solution(vector<int> numbers) {
string answer = "";
for(int i = 0; i < numbers.size(); i++){
n.push_back(to_string(numbers[i]));
}
sort(n.begin(), n.end(), compare);
for(int i = 0; i < n.size(); i++){
answer += n[i];
}
if(answer[0] == '0'){
answer = "0";
}
return answer;
}
인터넷 많이 참고해서 풀었다. 아무리 생각해도 모든 경우를 다 비교하는 것은 너무 효율성이 떨어지고 하나하나 자릿수를 다 비교하기에도 너무 아닌 것 같았기 떄문이다. 사람들은 똑똑하다... 어떻게 수 string 2개를 더해서 그것을 비교할 생각을 했는지
너무 꽉 막힌 생각을 하고 사는 것 같다. 생각보다 시키는대로만 하면 쉽게 풀 수 있었을지도