https://school.programmers.co.kr/learn/courses/30/lessons/42746
#문제 간단 정리
정렬문제이다
#문제 해결 방법
C++ 의 비교 함수를 만들어서
각각 문자열로 바꾸어 두 수를 더했을때 더 큰수대로 비교하도록
정렬하도록 해서
정답에 더해주면 된다
전부 0인 경우에는
0을 출력해야됨으로 예외 처리를 해주자
#전체 코드
#include <string>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
string as = to_string(a);
string bs = to_string(b);
return as + bs > bs + as;
}
string solution(vector<int> numbers) {
sort(numbers.begin(), numbers.end(),cmp);
// 배열의 첫 번째 요소가 0이면 모든 요소가 0임
if (numbers[0] == 0) {
return "0";
}
string answer = "";
for(int i : numbers){
answer += to_string(i);
}
return answer;
}
'[프로그래머스] > lv.2' 카테고리의 다른 글
[프로그래머스] 수식 최대화 [C++][lv.2] 2020 카카오 인턴십 (0) | 2024.07.04 |
---|---|
[프로그래머스] 오픈채팅방 / 2019_카카오_공채 [C++][lv.2] (0) | 2023.08.12 |