Programmers_큰 수 만들기
4444 단어 programmersalgorithmcppalgorithm
😳 백준에서 같은 문제를 풀었던 경험이 있어서 그대로 풀어봤는데 틀린다. 그리고 인터넷에 검색해보니 내 코드는 너무 길었다. 좀 더 효율적인 코드들을 따라해봤는데 너무 똑똑한 사람들이 많은 것 같다.
💻 프로그래머스_큰 수 만들기
- 주어진 수에서 k개의 숫자를 뺏을 때, 최대의 수를 만들어내야 하는 문제다.
- 주어진 수의 크기가 n일 때 n-k개의 숫자를 뽑아줘야 한다.
- 그러므로 처음 for문의 최대 index를 n-k까지로 잡아준다.
- 다음 인덱스가 될 start 변수는 최대값의 다음 수부터 잡아준다.
- 각 for문의 마지막에는 answer에 최대값의 변수를 넣어준다.
💻 전체코드
#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;
}
솔직히 나도 내가 뭐라는지 모르겠다. 흐름은 이해하겠는데 어떻게 이런생각을 가질 수 있는지 궁금하다. 많이 더 많이 풀어보면 되려나..
Author And Source
이 문제에 관하여(Programmers_큰 수 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@luck2901/Programmers큰-수-만들기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)