Programers : 가장 큰 수

김정욱·2021년 1월 25일
0

Algorithm - 문제

목록 보기
62/249
post-custom-banner

가장 큰 수

  • 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;
}
profile
Developer & PhotoGrapher
post-custom-banner

0개의 댓글