Algorithm & Data Structures/Programers
Lv 2. 큰 수 만들기
Geisha
2024. 8. 3. 12:32

코드 흐름
- 그리디 탐욕법을 이용하여 문제를 풀이하였다.
- StringBuilder를 선언하고 for 문으로 i 에서 number.length() - k 까지 루프를 돈다.
- for 문을 통해 idx 에서 i + k 까지 중 최대값을 찾아낸다.
- max 를 최신화하고 sb에 저장한다.
- sb.toString()을 리턴한다.
class Solution {
public String solution(String number, int k) {
String answer = "";
int idx = 0;
StringBuilder sb = new StringBuilder();
for(int i = 0; i < number.length() - k; i++) {
char max = 0;
for(int j = idx; j <= i + k; j++) {
if(max < number.charAt(j)) {
max = number.charAt(j);
idx = j + 1;
}
}
sb.append(max);
}
return sb.toString();
}
}