[프로그래머스/C++] 큰 수 만들기 : Greedy

Hanbi·2021년 12월 24일
0

Problem Solving

목록 보기
2/128
post-thumbnail
post-custom-banner

문제

https://programmers.co.kr/learn/courses/30/lessons/42883

풀이

최종 문자열의 길이 : 원래길이 - k

ex) 4177252841, k=4
총 10자리 / 최종 문자열 6자리
뒤에 5자리 남기고, 앞에 5자리에서 젤 큰 수 뽑는 방식!
=> 이중 for문으로! 반복문 조건 j <= k+i

코드

#include <string>

using namespace std;

string solution(string number, int k) {
    string answer = "";
    
    for(int i=0, index=-1; i<number.length()-k; i++) {
        char max=0;
        
        for(int j=index+1; j<=k+i; j++) {
            if(max < number[j]) {
                max = number[j];
                index = j;
            }
        }
        answer += max;
    }
    
    return answer;
}
profile
👩🏻‍💻
post-custom-banner

0개의 댓글