Programmers作成大数
4341 ワード
😳 白俊で同じ問題があったのでそうしましたが間違っていましたそしてネットで検索してみると、私のコードが長すぎることに気づきました.もっと効率的なコードを真似てみましたが、頭のいい人が多すぎるようです.
から与えられた数字からk個の数字を奪うと、最大の数字を創造しなければならない. で与えられた数の大きさがnである場合、n−k個の数字を抽出する必要がある. したがって、は、最初のコンサルティングの最大指数をn−kとする. の次のインデックスになるstart変数は、最大値の次から始まります. 角は疑問文の最後に,回答に最大値の変数を加える.
💻 プログラマによる大数の作成
💻 完全なコード
#include <string>
#include <vector>
using namespace std;
string solution(string number, int k)
{
string answer = "";
int numSize = number.size() - k;
int start = 0;
for (int i = 0; i < numSize; i++)
{
char maxNum = number[start];
int maxIdx = start;
for (int j = start; j <= k + i; j++)
{
if (maxNum < number[j])
{
maxNum = number[j];
maxIdx = j;
}
}
start = maxIdx + 1;
answer += maxNum;
}
return answer;
}
正直に言って、私が何を言っているのか分かりません.私は流れを理解できますが、どうしてこのような考えがあるのか知りたいです.もう少し解けばいいのかな…Reference
この問題について(Programmers作成大数), 我々は、より多くの情報をここで見つけました https://velog.io/@luck2901/Programmers큰-수-만들기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol