728x90
#include <bits/stdc++.h>
using namespace std;
bool cmp(const string a, const string b){
if(b+a<a+b) return true;
else return false;
}
string solution(vector<int> numbers) {
string answer = "";
vector<string> s_vec;
for(int n:numbers) s_vec.push_back(to_string(n));
sort(s_vec.begin(), s_vec.end(), cmp);
for(string s:s_vec) answer += s;
//00000일경우
if(answer[0]=='0') return "0";
return answer;
}
string 을 사용하여 비교하면 아스키 값 순서대로 비교된다.
728x90
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
프로그래머스: 카펫 (0) | 2023.03.16 |
---|---|
에라토스테네스의 체-소수 찾기, 1978번:소수 찾기, 프로그래머스 소수 찾기 (0) | 2023.03.16 |
프로그래머스 : 숫자 카드 나누기 (0) | 2023.03.15 |
10989번 : 수 정렬하기 3 (0) | 2023.03.15 |
다익스트라, 플로이드 (4) | 2023.03.12 |