# 생각

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

+ Recent posts