์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ฅ ํฐ ์
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์. ์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ
programmers.co.kr
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(string a, string b){
if(a.length()!=b.length()) return stoi(a+b)>stoi(b+a);
else return stoi(a)>stoi(b);
}
string solution(vector<int> numbers) {
string answer = "";
vector<string>temp;
for(int i=0; i<numbers.size(); i++){
temp.push_back(to_string(numbers[i]));
}
sort(temp.begin(),temp.end(), cmp);
for(int i=0; i<temp.size(); i++){
answer+=temp[i];
}
if(answer[0]=='0') return "0";
else return answer;
}
๋๊ธ