class MakeLargeNum {
public String solution(String number, int k) {
StringBuilder sb = new StringBuilder(number);
int index = 1;
while (k > 0) {
if (sb.charAt(index - 1) < sb.charAt(index)) {
sb.deleteCharAt(index - 1);
k--;
index = 1;
continue;
}
index++;
if (index >= sb.length()) {
sb.delete(sb.length() - k, sb.length());
break;
}
}
return sb.toString();
}
public static void main(String[] args) {
MakeLargeNum s = new MakeLargeNum();
System.out.println(s.solution("1924", 2));
System.out.println(s.solution("1231234", 3));
System.out.println(s.solution("4177252841", 4));
System.out.println(s.solution("654321", 2));
System.out.println(s.solution("1111", 2));
}
}
List보다 StringBuilder를 활용하는 것이 빠르다 (큰 데이터를 다룰 때 좋음)
StringBuilder sb = new StringBuilder(String str);
sb.deleteCharAt(int index);
sb.delete(int start_index, int end_index) : start_index 부터 end_index까지 문자 제거