728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42746?language=cpp
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
주어진 수로 제일 큰 수를 만드는 값을 return하는 문제이다.
정렬을 어떻게 하는지에 따른 문제이다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool Sort(string left, string right) {
int n = 0;
string a = left+right;
string b = right+left;
return a > b;
}
string solution(vector<int> numbers) {
string answer = "";
vector<string> numberStr;
numberStr.reserve(numbers.size());
for (int i = 0; i < numbers.size(); i++)
{
numberStr.emplace_back(to_string(numbers[i]));
}
sort(numberStr.begin(), numberStr.end(), Sort);
if (numberStr[0] == "0")
{
return "0";
}
for (int i = 0; i < numberStr.size(); i++)
{
answer.append(numberStr[i]);
}
return answer;
}
sort함수를 만들어 left+right값과 right+left값을 비교했다.
728x90
반응형
'개발일지 > 코딩테스트' 카테고리의 다른 글
[Programmers] 외계어 사전(c++) (0) | 2025.04.02 |
---|---|
[Programmers] 합성 수 찾기 (c++) (0) | 2025.03.31 |
[Programmers] 약수의 합(c++) (0) | 2025.03.28 |
[Programmers] 안전지대 (c++) (0) | 2025.03.17 |
[Programmers] 최고의 집합 (c++) (0) | 2025.03.11 |