class Solution {
public int minimumDeletions(String s) {
int n = s.length();
int[] aCnt = new int[n+1];
for(int i = n-1; i >= 0; i--) {
aCnt[i] = aCnt[i+1];
if(s.charAt(i) == 'a') aCnt[i]++;
}
int delection = aCnt[0];
int bCnt = 0;
for(int i = 0; i < n; i++) {
if(s.charAt(i) == 'b') bCnt++;
delection = Math.min(delection, bCnt + aCnt[i+1]);
}
return delection;
}
}
스택을 이용하는 다른 방법도 있음.