プログラマ最大数c++
これはプログラマーの最大の難題です.
質問リンク:https://programmers.co.kr/learn/courses/30/lessons/42746#
アイデア:値を文字列形式でベクトルに格納し、新しく定義した関数に基づいてソートします.
最初は、最後のテストケースがずっと間違っていることに気づきました.プログラマーに質問したとき、文章を探していたとき、なぜ間違っているのかを発見しました.
コードでは、v[0]=「0」の場合、答え=「0」が個別に定義されます.
このセクションが定義されていない場合、番号は{0.0.0}で、答えは=000です.
したがって、if文v[0]=「0」を用いる場合は、それぞれresponse=「0」で処理する.
やはりいつも反例を見つけるのは難しい.ううう
ソフトコード:
質問リンク:https://programmers.co.kr/learn/courses/30/lessons/42746#
アイデア:値を文字列形式でベクトルに格納し、新しく定義した関数に基づいてソートします.
最初は、最後のテストケースがずっと間違っていることに気づきました.プログラマーに質問したとき、文章を探していたとき、なぜ間違っているのかを発見しました.
コードでは、v[0]=「0」の場合、答え=「0」が個別に定義されます.
このセクションが定義されていない場合、番号は{0.0.0}で、答えは=000です.
したがって、if文v[0]=「0」を用いる場合は、それぞれresponse=「0」で処理する.
やはりいつも反例を見つけるのは難しい.ううう
ソフトコード:
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(string &a,string &b){
return a+b>b+a;
}
string solution(vector<int> numbers) {
string answer = "";
answer="";
vector<string>v;
for(int i=0;i<numbers.size();i++){
v.push_back(to_string(numbers[i]));
}
sort(v.begin(), v.end(),cmp);
if(v[0]=="0"){
answer="0";
}else{
for(int i=0;i<numbers.size();i++){
answer+=v[i];
}
}
return answer;
}
Reference
この問題について(プログラマ最大数c++), 我々は、より多くの情報をここで見つけました https://velog.io/@hyojeong555/프로그래머스가장큰수-cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol