Programmers 42883 큰 수 만들기

로고 이미지

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42883

나의 풀이

숫자의 크기를 가장 큰 숫자로 만들기 위해서는 앞자리가 가장 커야하기 때문에 앞자리부터 작은 값을 삭제한다.

풀이 코드 : 42883 큰 수 만들기

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

using namespace std;

string solution(string number, int k) {
    string answer = "";
    answer.push_back(number[0]);
    for(int i=1;i<number.size();i++){
        for(int j=answer.size()-1;j>=0;j--){
            if(k == 0 || number[i] <= answer[j]) break;
            answer.erase(answer.begin()+j);
            k--;
        }
        if(k == 0) {
            answer += number.substr(i);
            break;
        }
        answer.push_back(number[i]);
    }
    
    return answer;
}

채점결과

42586


© 2020. All rights reserved.

Powered by Hydejack v8.4.0