Gidhub BE Developer

[Programmers] 42746. 가장 큰 수

2018-09-26
goodGid

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이 출력된다.


Comments

Content