Problem
Problem URL : 가장 큰 수
[1] Answer Code (18. 09. 26)
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
bool compare(string &s1, string &s2){
if( s1+s2 > s2+s1 )
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+=v[i];
}
if(v[0] == "0") // [1]
answer = "0";
return answer;
}
Review
-
굉장히 좋은 문제다.
-
만약 Input으로 [0,0,0,0]이 들어온다면 [1]코드가 없다면 string이기 때문에 0000이 출력된다.