Programmers - 큰 수 만들기

이준희·2022년 7월 12일

Algorithm

목록 보기
8/16

Programmers - 큰 수 만들기

처음에는 모든 문자열을 해볼까 라는 마음도 있었지만, 그렇게 되면 시간 안에 끝낼 수 없을 것 같았다..

시간을 줄이기 위해서,
만들어야 하는 길이의 문자열을 만들 수 있는 최소 갯수를 남겨놓은 나머지 문자 중에서
가장 큰 수를 계속 선택해 나가는 방식으로 문제를 풀었다.

#include <string>
#include <vector>
#include <iostream>

using namespace std;

string solution(string number, int k) {
    string answer = "";
    int len = number.size() - k;
    int index = 0;
    for(int i = 0; i < len; i++){
        int start = index;
        char temp = number[index];
        for(int j = start; j < k + 1 + i; j++){
            if(temp < number[j]){
                index = j;
                temp = number[j];
            }
        }
        index += 1;
        answer.push_back(temp);
    }
    return answer;
}
profile
뉴비 개발자입니다!!

0개의 댓글