문제 설명 및 제한 조건

내 풀이

class Solution {
    public String solution(String number, int k) {
    	int index = 0;
		StringBuilder answer = new StringBuilder();
		int maxIndex = -1;
		int cntDeletedNumber = 0;
		while(index < number.length() - k) {
			int maxNum = 0;
			for(int i=index; i<=index+k; i++) {
				maxNum = Math.max(maxNum, number.charAt(i)-'0');
			}
			for(int i=index; i<=index+k; i++) {
				if(number.charAt(i)-'0'==maxNum) {
					cntDeletedNumber = i - maxIndex - 1;
					maxIndex = i;
					break;
				}
			}
			answer.append(maxNum);
			k -= cntDeletedNumber;
			index = maxIndex+1;
		}
		return answer.toString();
    }
}
  • maxIndex를 -1로 초기화 했다는게 너무 마음에 안든다.

참고