- string으로 변환한 뒤 정렬 조건으로 실제 정수로 변환한 뒤 값 비교를 해서 처리해서 해결함
answer="00"
이렇게 되는 경우 예외처리를 해줘야 하는 것이 키포인트!
#include <string> #include <vector> #include <algorithm> using namespace std; bool compare(string a, string b){ int tmp1 = stoi(a+b); int tmp2 = stoi(b+a); if(tmp1 > tmp2) return true; return false; } string solution(vector<int> numbers) { string answer = ""; vector<string> v; for(int i=0;i<numbers.size();i++) v.push_back(to_string(numbers[i])); sort(v.begin(), v.end(), compare); for(int i=0;i<v.size();i++) answer.append(v[i]); /* answer="00" 이런 경우 예외처리 해줘야 한다! */ if(answer[0] == '0') answer='0'; return answer; }