문자열의 a의 개수만큼 슬라이딩 윈도우를 만들어 그 안의 (b의 개수가 최소) = (교환 횟수의 최솟값)
# solution 1
# i가 문자열의 끝이라면, (i+1) % len(문자열)은 그 다음 문자열[0], 첫번째 인덱스를 뜻한다.
i = (i+1) % len(문자열)
# solution 2
# 이번 코드
s = input()
# s의 인덱스 0부터 a의 개수만큼의 문자열 중 b의 개수만큼 교환해야 됨
num_a = s.count('a')
# max나 min 배열에 넣지 않고 한번에 비교하기 - 큰 수 대입
Min = 99999999999999999
for i in range(len(s)):
count = 0
for j in range(i, i + num_a):
over = j
#j의 인덱스가 마지막보다 커지면 - solution 2
if j >= len(s):
over = j - len(s)
if s[over] == 'b':
count += 1
# max나 min 배열에 넣지 않고 한번에 비교하기 - 비교
Min = min(Min, count)
print(Min)
아이디어는 좋았는데 구현 능력이 쬐꼼 떨어져서 3시간 걸린 친구,,,