728x90
https://www.acmicpc.net/problem/1522
a의 갯수를 세어서 그 갯수만큼의 범위를 돌면서 b의 최솟값을 찾으면 된다!
aaaabbbbba 인 경우에는, a가 5개 이므로
시작 지점을 0~9(문자열 길이 10)
범위는 5
1) aaaab -> 1개
2) aaabb -> 2개
3) aabbb -> 3개
4) abbbb -> 4개
5) bbbbb -> 5개
6) bbbba -> 4개
7) bbbaa -> 3개
8) bbaaa -> 2개
9) baaaa -> 1개
9) aaaaa -> 0개
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] arr = br.readLine().toCharArray();
int aCount=0;
for(int i=0;i<arr.length;i++) {
if(arr[i]=='a') aCount++;
}
int min=Integer.MAX_VALUE;
for(int i=0;i<arr.length;i++) {
int bCount=0;
for(int j=0;j<aCount;j++) {
int idx=(i+j)%arr.length;
if(arr[idx]=='b') bCount++;
}
min=Math.min(min, bCount);
}
System.out.println(min==Integer.MAX_VALUE?0:min);
}
}
'Java' 카테고리의 다른 글
[백준 4179] 불! (JAVA) (0) | 2023.04.29 |
---|---|
[백준 2179] 비슷한 단어 (JAVA) (0) | 2023.04.28 |
[백준 1976] 여행가자 (JAVA) (0) | 2023.04.27 |
[백준 24337] 가희와 탑 (JAVA) (0) | 2023.04.27 |
[백준 1138] 한 줄로 서기 (JAVA) (0) | 2023.04.26 |