개발일지/코딩테스트
[Programmers] 가장 큰 수(c++)
쫌눈
2025. 3. 31. 17:49
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
반응형