알고리즘/프로그래머스

** 큰 수 만들기**

베리영young 2024. 2. 26. 14:21

사용 알고리즘: ...

사용 언어: java

 

 

import java.io.*;
import java.util.*;

// 완탐이 아니야??
// https://velog.io/@joonghyun/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%81%B0-%EC%88%98-%EB%A7%8C%EB%93%A4%EA%B8%B0-%EC%9E%90%EB%B0%94

class Solution {
    public String solution(String number, int k) {
        //없애지 말고
        //자리를 만들어놓고
        //각 자리에 올 수 있는 최대 수 차직
        
        String answer = "";
        StringBuilder sb = new StringBuilder();
        
        char[] array = number.toCharArray();
        int len = array.length - k; //k를 뺀 길이
        
        //문자 비교를 시작하는 인덱스 나타내는 start 변수
        int start = 0;
        for(int i=0; i<len; i++) {
            char max = '0';
            for(int j=start; j<=i+k; j++) {
                if(array[j] > max) {
                    max = array[j];
                    start = j+1;
                }
            }
            
            //가장 큰 수를 string에 넣기
            sb.append(Character.toString(max));
        }
        
        return sb.toString();
    }
}

 

 

**뺄 생각을 하지 말고 넣을 생각을 하기**