코드 흐름
- 그리디 탐욕법을 이용하여 문제를 풀이하였다.
- 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();
}
}
'Algorithm > Programers' 카테고리의 다른 글
Lv 2. 마법의 엘리베이터 (0) | 2024.08.06 |
---|---|
Lv 2. 연속된 부분수열의 합 (0) | 2024.08.04 |
Lv 2. 두 큐 합 같게 만들기 (0) | 2024.08.02 |
Lv 2. 삼각달팽이 (0) | 2024.07.31 |
Lv 2. 소수찾기 (0) | 2024.07.30 |