알고리즘 문제 풀이
class Solution {
public String solution(String number, int k) {
StringBuilder sb=new StringBuilder();
String answer = "";
int last=number.length()-k;
int ans=number.length()-k;
while (true) {
if (sb.length()==ans) break;
int find_idx=number.length()-last+1;
String temp=number.substring(0,(find_idx));
int max_num=find_su(temp);
String num_String=Integer.toString(max_num);
// answer+=num_String;
sb.append(num_String);
int next_idx=number.indexOf(num_String);
number=number.substring(next_idx+1);
last-=1;
}
// System.out.println("answer"+answer);
// System.out.println(sb.toString());
answer=sb.toString();
System.out.println(answer);
return answer;
}
private int find_su(String temp) {
// char val;
int max_val=0;
for (int i=0;i<temp.length();i++) {
char val=temp.charAt(i);
int val_to_int=Character.getNumericValue(val);
// System.out.println("val"+val);
if (val_to_int==9) {
max_val=val_to_int;
break;
}
else if (max_val<=val_to_int) {
max_val=val_to_int;
}
}
return max_val;
}
}