프로그래머스 - level_2 - 가장 큰 수
문제
SOL
- to_string으로 변환한 두 정수를 합한 값이 큰 값을 기준으로 정렬하기
- ex) sum (”3”, “11”) ~> 311
- sum (”11”, “3”) ~> 113
구현
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
// 앞자리 기준으로
// 내림차순 정렬
// 문자열에 저장
bool compare(int a, int b)
{
string tmp_1 = to_string(a) + to_string(b);
string tmp_2 = to_string(b) + to_string(a);
return tmp_1 > tmp_2;
}
string solution(vector<int> numbers) {
string answer = "";
sort(numbers.begin(), numbers.end(), compare);
for(auto el : numbers)
answer += to_string(el);
if(answer[0] == '0')
answer = "0";
return answer;
}