TIL
[코테연습] 1653. Minimum Deletions to Make String Balanced
크라00
2024. 7. 30. 16:46
- 반복문 / 문자열문제
- 문제분석
1. a 와 b 가 번갈아 있는 문자열이있다.
2. 해당 문자열을 a 가 b 뒤에 존재해야하는 '균형상태' ( aba (x), aab (o)) 일때, 최소한의 문자열 삭제로 해당 균형상태를 만드는 방법을 찾아라.
- 문제풀이
1. 문자열을 반복문으로 반복하면서 b 일 경우에 갯수를 센다.
2. a 일 경우 b를 갯수를 낮춘다. ( 0 이상으로만 )
3. b가 0 이 아닐 경우에 'a' 가 출력된 경우에 해당 'a' 를 삭제해야하므로 총 삭제 카운트를 늘린다.
class Solution {
public int minimumDeletions(String s) {
int result = 0;
int b = 0;
for (char c : s.toCharArray()) {
if (c == 'b') {
b++;
// a 이고, b 의 갯수가 0보다 클 경우.b의 갯수가 0 일때는 ( a 가 많은 경우 ) result 를 카운팅하지 않는다.
} else if (b != 0) {
result++;
b--;
}
}
return result;
}
}