프로그래머스 42746 - 가장 큰 수
문제 링크
생각과 접근
- 이어 붙여서 가장 큰 수를 만드는 문제다.
- 어떤 기준으로 string을 sort해야 이어 붙여서 가장 큰 수를 만들 수 있을까?
코드
#include <bits/stdc++.h>
using namespace std;
bool compare(string a, string b){
return a + b > b + a;
}
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++){
if(answer.empty() && v[i] == "0"){
answer = "0";
break;
}
answer.append(v[i]);
}
return answer;
}
채점 결과