# 생각
int형을 string으로 바꿔서 저장해준후
sort함수에서 람다식을 이용하여 string의 합을 비교하여 정렬해주면 해결 가능하다
처음에는 예외처리를 하지 않았더니 테스트 케이스 1개가 통과되지 않는다
배열안의 수가 0일 경우를 생각 해줘야 한다
# 전체 코드
#include <bits/stdc++.h>
using namespace std;
string solution(vector<int> numbers) {
string answer = "";
vector<string> tmp;
for (int i = 0; i < numbers.size(); i++)
{
tmp.push_back(to_string(numbers[i]));
}
sort(tmp.begin(), tmp.end(),
[&](string lhs, string rhs)
{
return lhs + rhs > rhs + lhs;
});
for (int i = 0; i < tmp.size(); i++)
{
answer += tmp[i];
}
if (answer[0] == '0') answer = '0';
return answer;
}
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
'Algorithm > 프로그래머스' 카테고리의 다른 글
[Lv.2] 거리두기 확인하기 (0) | 2022.05.07 |
---|---|
[Lv.1] K번째수 with cpp (0) | 2022.03.05 |
[Lv.1] 모의고사 with cpp (0) | 2022.03.05 |
[Lv.3] 여행경로 with cpp (0) | 2022.03.05 |
[Lv.3] 단어 변환 with cpp (0) | 2022.03.04 |