본문 바로가기

Programming/Programmers

[프로그래머스/C++] 가장 큰 수(정렬)

예외처리만 주의하자..

 

#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

bool greater_str(string a, string b){
    return a+b > b+a;
}

string solution(vector<int> numbers) {
    string answer = "";
    
    vector<string> a;
    for(int i=0;i<numbers.size();i++){
        a.push_back(to_string(numbers[i]));
    }
    
    sort(a.begin(), a.end(), greater_str);
    
    if(a[0][0] =='0') return "0";
    
    for(int i=0;i<a.size();i++){
        answer+=a[i];
    }
    return answer;
}