3은로그

[프로그래머스] 그리디 - 큰 수 만들기 - JAVA 본문

코딩테스트

[프로그래머스] 그리디 - 큰 수 만들기 - JAVA

3은 2023. 2. 13. 17:28
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

코드
class Solution {
    public String solution(String number, int k) {
        
        StringBuilder sb = new StringBuilder();
        
        int len = number.length()-k;    //수의 길이
        
        int index = 0;
        int next = 0;
        
        String answer = "";
          
        for(int i = 0; i < len; i++){
            int max = 0;
            for (int j = index; j <= i + k; j++){
                if(max < number.charAt(j) - '0'){
                    max = number.charAt(j) - '0';
                    next = j;
                }
            }
            index = next + 1;''
            sb.append(max);
        }
        
        return sb.toString();
    }
}

 

 

푸는방법

1.  0~k 까지 중에서 가장 큰 수를 구한다

2. 가장 큰 수를 sb에 저장한다

3. i+k까지 중에서 가장 큰 수를 구하고 sb에 저장한다.

4. 위를 반복한다.