https://school.programmers.co.kr/learn/courses/30/lessons/42746#
1. 문자열 큰수 만드는방법
bool cmp(string& s1, string& s2){
return s1+s2>s2+s1;
}
ex1) 3 30
330 > 303 -> true -> 자리안바꿈
ex2) 30 3
303 > 330 -> false -> 자리바꿈
2. core dumped 해결방법
return 타입을 확인하자.
return 0 -> core dumped
return "0" -> 정상
3. 전체코드
#include <bits/stdc++.h>
using namespace std;
bool cmp(string& s1, string& s2){
return s1+s2>s2+s1;
}
string solution(vector<int> numbers) {
string answer = "";
vector<string> v;
for(auto i:numbers){
v.push_back(to_string(i));
}
sort(v.begin(),v.end(),cmp);
for(auto str:v){
//cout<<str<<" ";
answer+=str;
}
//예외처리 : [0,0,0,0] -> "0" 이 출력되어야함
if(answer[0]=='0') return "0";
return answer;
}
'Algorithm > 정렬' 카테고리의 다른 글
백준 1377 버블정렬 c++ // 버블정렬 필요 사이클 구하기 (0) | 2024.10.26 |
---|