プログラマの最大数
1911 ワード
コード#コード# #include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp (int num1 , int num2){
string str1 = to_string(num1);
string str2 = to_string(num2);
if(stoi(str1+str2) > stoi(str2+str1))
{
return true;
}
else return false;
}
string solution(vector<int> numbers) {
string answer = "";
if(numbers.size() == 1)
return answer += to_string(numbers[0]);
sort(numbers.begin(), numbers.end(), cmp);
if(numbers[0] == 0) return answer+=to_string(0);
for(int i=0; i<numbers.size(); i++)
{
answer += to_string(numbers[i]);
}
return answer;
}
に答える
数値に存在する数値を並べ替えて組み合わせる場合は、最大の数値を見つける必要があります.最初は、すべてのソート状況の数を無計画に考えていましたが、どう考えても、この方法ではないようです.sort関数による比較ソートにより,最大数を検索する条件は
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp (int num1 , int num2){
string str1 = to_string(num1);
string str2 = to_string(num2);
if(stoi(str1+str2) > stoi(str2+str1))
{
return true;
}
else return false;
}
string solution(vector<int> numbers) {
string answer = "";
if(numbers.size() == 1)
return answer += to_string(numbers[0]);
sort(numbers.begin(), numbers.end(), cmp);
if(numbers[0] == 0) return answer+=to_string(0);
for(int i=0; i<numbers.size(); i++)
{
answer += to_string(numbers[i]);
}
return answer;
}
数値に存在する数値を並べ替えて組み合わせる場合は、最大の数値を見つける必要があります.最初は、すべてのソート状況の数を無計画に考えていましたが、どう考えても、この方法ではないようです.sort関数による比較ソートにより,最大数を検索する条件は
比較
->この場合、+はプラス記号ではなく文字列にマージされます.
Reference
この問題について(プログラマの最大数), 我々は、より多くの情報をここで見つけました https://velog.io/@okvv26/프로그래머스-가장-큰-수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol